如何在Regex中添加条件语句



我有两个字符串

1) abc-def 
2) abc- 

和我已经写了正则表达式组(?<Myid>[a-zA-Z0-9-]+)所有工作良好的第一个字符串

但是在第二个字符串中我不需要"-",只应该选择abc。如何在这里添加条件?

我会把你的正则表达式表达为:

(?<Myid>[a-zA-Z0-9]+(?:-[a-zA-Z0-9]+)*)

这个模式表示匹配:

[a-zA-Z0-9]+        match one or more alphanumeric characters
(?:-[a-zA-Z0-9]+)*  followed by dash and more alphanumeric characters,
zero or more times

演示

我想只要在末尾加上否定规则就足够了。

(?<Myid>[a-zA-Z0-9-]+[^-])

演示:https://regex101.com/r/PetK6Q/1

最新更新