标签: regex
如何匹配线路上的所有内容,但在找到分号时停止?如果我找不到一个我应该继续匹配,即使一个不存在。
以下是一些示例输入:
captureme; dontcaptureme captureme andme andme captureme andme andme; butnotme
我尝试过一个懒惰的量词(\w*?);,但如果我将分号设为可选,它将无效。请在此处查看my current regex fiddle。
(\w*?);
答案 0 :(得分:4)
您可以使用
^[^;\n]*
使用多行修饰符。
请参阅demo
多行模式中的^将在行的开头匹配,否定的字符类[^;\n]将匹配除冒号或换行符号之外的任何字符。 *将使正则表达式引擎匹配这些字符0次或更多次。因此,如果您不想匹配情绪线,请改用+量词。
^
[^;\n]
*
+
答案 1 :(得分:1)
这似乎运作良好:
^(.*?)(?:;|$)
Fiddle