我正在尝试匹配任何包含foo<sequence of alphanumeric or space>baz
的内容,除了foo<sequence of alphanumeric or space>barbaz
因此,这将匹配:
foohello there baz
foobarmystringbaz
这一定不匹配
foohellobarbaz
我目前有.*\b(foo[a-zA-Z0-9 ]+baz)\b.*
,它运行良好。但我在试图增加限制时被难倒了
编辑: 我想找一个捕获组来获取匹配的部分,所以
foohellobaz barbaz
应匹配,但仅捕获foohellobaz
只需添加另一个(具有负前瞻性):
见a demo on regex101.com。
正如@Harm van der Warl指出的,
\w
也包含下划线,与[a-zA-Z0-9_]
相同。这可能是你想要的,也可能不是。如果我理解正确,你的意思是字符串可能永远不会以barbaz结尾。这是使用以下正则表达式完成的:
https://regex101.com/r/8EggsE/2
编辑:
我更新了正则表达式以匹配“foohellobaz barbaz”中的“foohellobaz”
相关问题 更多 >
编程相关推荐