我试图删除2个字符并使用此正则表达式:
/\b[\w\/]{2}\b/
给出一个字符串:aa bb b/
http://regex101.com/r/dK6qF7/2
任何人都可以解释为什么' b /'没有匹配和删除?
由于
答案 0 :(得分:3)
/
后跟字符串的结尾不会形成单词边界,因此不满足最后\b
。如果您的引擎可以使用lookbehinds,您可以使用:
(?<=[^\w\/]|^)[\w\/]{2}(?=[^\w\/]|$)
答案 1 :(得分:0)
如果\w
后跟\W
(即[A-Za-Z0-9_]
后跟[^A-Za-Z0-9_]
),则字边界将匹配,反之亦然。
使用正则表达式\bb/\b
和输入" b/ "
,第一个单词边界匹配,因为空格(\W
)后跟b
(\w
)。但第二个单词边界不匹配:/
(\W
)后跟一个空格(\W
)。