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

2024-04-18 17:24:02 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我写道:

/^(.*);/

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


Tags: 内容模式字符
3条回答

/^(.*?);/

工作

?是一个惰性操作符,因此正则表达式在匹配;之前尽可能少地获取

你需要

/[^;]*/

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

要引用^{}手册页:

You can specify a character class, by enclosing a list of characters in [] , which will match any character from the list. If the first character after the "[" is "^", the class matches any character not in the list.

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

/^[^;]*/

[^;]表示匹配除分号以外的任何内容。方括号是一个集合匹配运算符,它本质上是匹配这组字符中的任何字符,开始处的^使其成为反向匹配,因此匹配这组字符中的任何而不是

相关问题 更多 >