【发布时间】:2011-03-28 13:57:54
【问题描述】:
我正在尝试提出一个仅匹配不包含特殊字符的单词的正则表达式。在以下字符串中:
一二:二三四五:五六
我只想匹配一、三、四和六。我想排除二:二和五:五。
/[a-zA-Z]+/ 匹配这些词,但它也匹配“二”、“二”、“五”和“五”,因为它只是将“:”视为另一个词的分隔符。
有什么想法吗?
【问题讨论】:
标签: regex
我正在尝试提出一个仅匹配不包含特殊字符的单词的正则表达式。在以下字符串中:
一二:二三四五:五六
我只想匹配一、三、四和六。我想排除二:二和五:五。
/[a-zA-Z]+/ 匹配这些词,但它也匹配“二”、“二”、“五”和“五”,因为它只是将“:”视为另一个词的分隔符。
有什么想法吗?
【问题讨论】:
标签: regex
或者,您可以简单地使用(?<=\s+|^)[a-zA-Z]+(?=\s+|$)。基本上,这是你原来的表达方式,但需要
(?<=))或字符串的开头(即^),以及(?=))或字符串的结尾(即$)。这应该会为你做的!
【讨论】:
我不确定您使用的是什么语言,所以我将简要介绍一下该怎么做。
尝试按空格分割字符串(即,按/\s+/ 分割),然后将每个部分与/^[a-zA-Z]+$/ 匹配。
【讨论】: