猿问

正则表达式:匹配首次出现的字符

我正在寻找一种与所有内容匹配的模式,直到第一次出现特定字符,例如“;”。- 分号

我这样写:

/^(.*);/

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


HUX布斯
浏览 5129回答 3
3回答

慕桂英4014372

你需要/[^;]*/该[^;]是字符类,它匹配一切,但一个分号。引用perlre联机帮助页:您可以通过在[]中包含一个字符列表来指定字符类,该字符列表将匹配列表中的任何字符。如果“ [”之后的第一个字符是“ ^”,则该类匹配列表中未包含的任何字符。这在大多数正则表达式中都适用。

慕码人2483693

将;/^(.*?);/工作?本?是一个懒惰的经营者,所以正则表达式争夺尽可能少的匹配之前;。

郎朗坤

/^[^;]*/[^;]说匹配除分号之外的任何东西。方括号是集合匹配运算符,从本质上讲,它匹配此字符集中的任何字符,^开始时使其成为反匹配,因此匹配此集合中不存在的任何内容。
随时随地看视频慕课网APP
我要回答