我有两个字符串
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