我正在尝试提出一个只匹配不包含特殊字符的单词的正则表达式。在以下字符串中:
一二:二三四五:五六我想只匹配一,三,四和六。我想排除这两个:两个和五个:五个。
/[a-zA-Z]+/
匹配这些单词,但它也匹配“two”,“two”,“five”和“five”,因为它只是将“:”视为另一个单词的分隔符。
有什么想法吗?
答案 0 :(得分:4)
我不确定您使用的语言是什么,因此我将提供有关如何操作的高级概述。
尝试按空格分割字符串(即按/\s+/
分割),然后将每个部分与/^[a-zA-Z]+$/
匹配。
答案 1 :(得分:1)
或者,您可以简单地使用(?<=\s+|^)[a-zA-Z]+(?=\s+|$)
。基本上,它是您的原始表达,但需要
(?<=)
)或字符串的开头(即^
)和(?=)
)的空格或字符串的结尾(即$
)。那应该为你做到的!