我遇到了正则表达式的问题,它匹配除中间2位数之外的所有内容。
示例:
输入:40442**75**22123456
匹配:75
允许:4044273xxxxxxxx
,4044255xxxx
等。
我的表达是: [0-9]{5}[0-68-9]{1}[0-46-9]{1}[0-9]{8}
它适用于完全匹配,但在例外情况下失败。
答案 0 :(得分:0)
如果您只想在该位置允许75,请使用替换
将所有例外置于交替中。会有重叠,
但是会有一些不允许的。
如果是不允许的情况很少,那么使用一般的
范围与负面断言,禁止一些。即。[0-9]{2} (?<!52|74)
[0-9]{5}(?:[0-68-9][0-46-9]|75)[0-9]{8}
扩展
[0-9]{5}
(?:
[0-68-9]
[0-46-9]
| 75
| [0-9]5
| etc...
)
[0-9]{8}