正则表达式:匹配到字符的第一个匹配项

我正在寻找一种模式,它匹配所有字符,直到某个特定字符第一次出现,比如“;”-a分号

我写道:

/^(.*)/

但它实际上匹配所有内容(包括分号),直到最后出现分号为止

你需要

/[^;]*/

[^;]是一个字符类,它匹配除分号以外的所有字符

要引用perlre手册页:

您可以通过At[]on包含字符列表来指定字符类,该列表将匹配列表中的任何字符。如果“[”后面的第一个字符是“^”,则该类将匹配列表中未包含的任何字符

这应该适用于大多数正则方言

发表评论