2024-04-18 17:24:02 发布
网友
我正在寻找一种模式,它匹配所有字符,直到某个特定字符第一次出现,比如“;”-a分号
我写道:
/^(.*);/
但它实际上匹配所有内容(包括分号),直到最后出现分号为止
会
/^(.*?);/
工作
?是一个惰性操作符,因此正则表达式在匹配;之前尽可能少地获取
?
;
你需要
/[^;]*/
[^;]是一个字符类,它匹配除分号以外的所有字符
[^;]
要引用^{}手册页:
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.
这应该适用于大多数正则方言
/^[^;]*/
[^;]表示匹配除分号以外的任何内容。方括号是一个集合匹配运算符,它本质上是匹配这组字符中的任何字符,开始处的^使其成为反向匹配,因此匹配这组字符中的任何而不是
^
会
工作
?
是一个惰性操作符,因此正则表达式在匹配;
之前尽可能少地获取你需要
[^;]
是一个字符类,它匹配除分号以外的所有字符要引用^{} 手册页:
这应该适用于大多数正则方言
/^[^;]*/
[^;]表示匹配除分号以外的任何内容。方括号是一个集合匹配运算符,它本质上是匹配这组字符中的任何字符,开始处的
^
使其成为反向匹配,因此匹配这组字符中的任何而不是相关问题 更多 >
编程相关推荐