我有以下字符串:正则表达式 - 检测字母数字字符串不是由非字母数字字符串包围
AAA BBB()CCC DDD efef
我要检测的所有实例“!干净“的字母数字单词,即”aaa“,”ddd“,”efef“,在单词结束前没有其他字符。字符串可以是由任何非字母数字字符包围的任何字母数字字符。
我可以用四种不同的正则表达式”
\s(\w+)
^\w+\s
\s\w+$
^\w+$
,但如何做到这一点的一个表达式做呢?
我有以下字符串:正则表达式 - 检测字母数字字符串不是由非字母数字字符串包围
AAA BBB()CCC DDD efef
我要检测的所有实例“!干净“的字母数字单词,即”aaa“,”ddd“,”efef“,在单词结束前没有其他字符。字符串可以是由任何非字母数字字符包围的任何字母数字字符。
我可以用四种不同的正则表达式”
\s(\w+)
^\w+\s
\s\w+$
^\w+$
,但如何做到这一点的一个表达式做呢?
使用|
或运营商:
(^|\s)\w+(\s|$)
编辑:如果您的原始字符串$str
,你可以在 '' 使用\s\w\s
模式。 $ str。 ''
,将例如BBB的'的'bbb'部分匹配()'并给出一个假阳性。 – Guffa 2013-03-14 13:35:47
就这样我解决它: “(^ | \ S)(\ w +)($ | \ S)” – tomitrescak 2013-03-14 13:38:13