我有来自用户的定义字符串来匹配输入字符串,我想简化定义字符串,这样我的用户就不需要知道内部正则表达式了。
我的想法是允许 */-7721/-7722/-7723
匹配任何给定的 4 位字符串,即 not 7721 AND not 7722 AND not 7723
。
我正在寻找一个正则表达式来对一个 4 位数字的输入字符串执行上述操作。
我试过使用 ?!
符号,但它不能错误匹配整个字符串。
(?![0-9]{4})
- 这不允许任何 4 位数字字符串。
((?!(7721))(?!(7722))(?!(77223))
- 这也没有用
是否有 AND 运算符来执行上述操作?
谢谢,
最佳答案
你忘了^:
^(?!(?:7721))(?!(?:7722))(?!(?:7723))\d{4}
已编辑:添加\d{4} 用于实际匹配字符串,而不仅仅是测试
关于c++ - 如何使用 AND 运算符编写正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9160812/