【问题标题】:Regex to match words with only non-special characters正则表达式仅匹配具有非特殊字符的单词
【发布时间】:2011-03-28 13:57:54
【问题描述】:

我正在尝试提出一个仅匹配不包含特殊字符的单词的正则表达式。在以下字符串中:

一二:二三四五:五六

我只想匹配一、三、四和六。我想排除二:二和五:五。 /[a-zA-Z]+/ 匹配这些词,但它也匹配“二”、“二”、“五”和“五”,因为它只是将“:”视为另一个词的分隔符。

有什么想法吗?

【问题讨论】:

    标签: regex


    【解决方案1】:

    或者,您可以简单地使用(?<=\s+|^)[a-zA-Z]+(?=\s+|$)。基本上,这是你原来的表达方式,但需要

    • 空格的前缀(即(?<=))或字符串的开头(即^),以及
    • 空格的后缀(即(?=))或字符串的结尾(即$)。

    这应该会为你做的!

    【讨论】:

      【解决方案2】:

      我不确定您使用的是什么语言,所以我将简要介绍一下该怎么做。

      尝试按空格分割字符串(即,按/\s+/ 分割),然后将每个部分与/^[a-zA-Z]+$/ 匹配。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-17
        • 2016-12-08
        • 2021-11-03
        • 1970-01-01
        • 1970-01-01
        • 2017-07-05
        相关资源
        最近更新 更多