将所有内容与特定字符匹配,无论它是否存在

时间:2015-07-27 21:16:08

标签: regex

如何匹配线路上的所有内容,但在找到分号时停止?如果我找不到一个我应该继续匹配,即使一个不存在。

以下是一些示例输入:

captureme; dontcaptureme
captureme andme andme
captureme andme andme; butnotme

我尝试过一个懒惰的量词(\w*?);,但如果我将分号设为可选,它将无效。请在此处查看my current regex fiddle

2 个答案:

答案 0 :(得分:4)

您可以使用

^[^;\n]*

使用多行修饰符。

请参阅demo

多行模式中的^将在行的开头匹配,否定的字符类[^;\n]将匹配除冒号或换行符号之外的任何字符。 *将使正则表达式引擎匹配这些字符0次或更多次。因此,如果您不想匹配情绪线,请改用+量词。

答案 1 :(得分:1)

这似乎运作良好:

^(.*?)(?:;|$)

Fiddle