我正在尝试编写一个正则表达式,用于查找斜杠,但后面没有特殊字符。
例如,如果字符串是,
/PErs/@loc/g/2
,然后我的正则表达式应该找到/
,P
和g
之前的斜杠(2
)。它不应该在@
之前返回斜杠,因为@
是一个特殊字符。
我可以写\/\w
,但它会返回/P
,/g
和/2
。
答案 0 :(得分:3)
答案 1 :(得分:2)
您想使用lookahead operator。
请尝试使用此正则表达式:
\/(?=\w)
我们在这里使用正向前瞻操作符(?=)
。它将“检测”给定表达式的位置但与表达式不匹配。
或者,您也可以使用负向前瞻操作符(?!)
。
\/(?![@])
这将匹配任何/
NOT后跟@
。如果您有更多特殊字符,只需将它们添加到字符类中即可。
例如,如果#
和%
是特殊字符,则上面的正则表达式将成为:
\/(?![@#%])
答案 2 :(得分:1)
匹配斜杠后跟非单词字符与后跟单词字符不相同。
尝试使用:
/(?!\W)
匹配slashes NOT followed by NON word character
它匹配字符串中的最后一个斜杠:PErs/