我正在努力构建一个正则函数来过滤所有连字符“ - ”当且仅当该字的前后字符是[a-zA-Z]而没有数字或其他连字号时。
例如,我想过滤这个单词的连字符:Te-st但不适用于此T3E-st
我目前的做法尚未奏效:
([a-zA-Z]+(-)+[\w]+)
答案 0 :(得分:3)
您可以使用外观:
(?<=[a-zA-Z])-(?=[a-zA-Z])
这意味着匹配-
如果它前面跟着一个ASCII字母。
<强>更新强>
Java不支持.NET
之类的无限长度后视,你可以使用类似的东西:
(?<=^[a-zA-Z]{1,999})-(?=[a-zA-Z]*$)
哪个匹配-
中的Te-st
但T3E-st
secondryGlobalIndex