正则表达式检查半冒号(;)

时间:2018-07-11 04:28:43

标签: regex

我有一组要提取的值,但有些值后面可能有分号,有些则没有。尝试过(.*)\;?,但似乎他们也提取了分号。我只想提取值。

值1:Xfdagb; 值2:Gegshb

谢谢!

1 个答案:

答案 0 :(得分:0)

您的正则表达式(.*)\;?与零个或多个字符匹配,后跟一个可选的分号。

.*是贪婪的,匹配到该行的末尾。然后,它尝试匹配一个可选的分号,以使整行保持匹配。

如果您要提取Value 1: XfdagbValue 2: Gegshb,则可以使用一个否定的character class来匹配一次或多次不使用分号:

[^;]+

如果要提取值XfdagbGegshb,则可以使用否定的字符类,并在捕获组中捕获值:

[^:]+: ([^;]+)