Regex 正则表达式-检测未被非字母数字字符串包围的字母数字字符串
我有以下字符串: aaa bbb()!ccc ddd efef 我想检测所有“干净”字母数字单词的实例,即“aaa”、“ddd”、“efef”,它们在单词的前面和结尾没有其他字符。字符串可以是由任何非字母数字字符包围的任何字母数字字符 我可以用四种不同的正则表达式来实现”Regex 正则表达式-检测未被非字母数字字符串包围的字母数字字符串,regex,Regex,我有以下字符串: aaa bbb()!ccc ddd efef 我想检测所有“干净”字母数字单词的实例,即“aaa”、“ddd”、“efef”,它们在单词的前面和结尾没有其他字符。字符串可以是由任何非字母数字字符包围的任何字母数字字符 我可以用四种不同的正则表达式来实现” \s(\w+) ^\w+\s \s\w+$ ^\w+$ 但是如何在单个表达式中执行此操作?使用|或运算符: (^|\s)\w+(\s|$) 编辑:如果您的原始字符串是$str,您可以在“.$str.”上使用\s\w\s模式,
\s(\w+)
^\w+\s
\s\w+$
^\w+$
但是如何在单个表达式中执行此操作?使用
|
或运算符:
(^|\s)\w+(\s|$)
编辑:如果您的原始字符串是
$str
,您可以在“.$str.”上使用\s\w\s
模式,例如,它将匹配bbb()
的bbb
部分,并给出一个假阳性。就像我解决的那样:“(^\s)(\w+)($\s)”