匹配第一次出现两个字符

时间:2016-01-26 02:40:16

标签: regex

此正则表达式匹配第一个分号:

^[^;]*;

但是,我想匹配第一个分号OR冒号。我怎么能这样做?

2 个答案:

答案 0 :(得分:3)

使用non-greedy形式的正则表达式。

^.*?[:;]

如果在 - 之间包含任何换行符,则添加dotall修饰符,

(?s)^.*?[:;]

答案 1 :(得分:2)

只需在您提供的模式中的否定字符类中添加要停止的字符(在您的情况下为冒号):

^[^;:]*

此正则表达式将匹配除;:以外的任何数量的字符,从字符串的开头开始

ps:这是另一种方式,比Raj更接近你的模式(希望你更容易理解)