我有一个字符串
foo-bar-bat.bla
我只想匹配
foo
我有缺陷的模式同时匹配
foo
和 bar
\w+(?=-.*\.bla)
如何丢弃
bar
?或者甚至更好,我怎么能在 foo
之后停止匹配东西? ?
最佳答案
您可以使用以下模式(只要您的字符串始终按照您所说的方式进行格式化):
^\w+(?=-.*\.bla)
Edit live on Debuggex
^
符号匹配字符串的开头。因此将采用字符串的第一个匹配项。?=
旨在确保跟随的组未被捕获但存在。
关于regex - 只匹配一个模式一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15392753/