假设我有以下字符串" a b c"。
使用正则表达式我想找到子串" B" (请注意字母b之前的空格。)
当我[ b]
时,它只找到b之前的空格,而不是字母本身。
当我[ b]+
时,它会找到b,但也会找到b之前和之后的空格。即使是像[ bbbbb ]+
这样的废话,也是如此。
仅查找"的正确表达方式是什么? B"
PS:我在这里测试了我的正则表达式:https://regex101.com/
答案 0 :(得分:6)
您可以使用( b)
来匹配空格和b(请注意,如果您尝试匹配,则括号是可选的)
请参阅此Regex101.com示例。
此外,当您使用[ b]
时,它匹配列表中的单个字符(在本例中为空格和b
),因此它不会查看它们是否是连续的。
编辑:如果您希望匹配非空白字符而不仅仅是空格,则可以使用\sb
,其中\s
是非空白字符的标记。