gpt4 book ai didi

"everything except 34,37"的正则表达式没有否定前瞻

转载 作者:行者123 更新时间:2023-12-05 03:31:21 26 4
gpt4 key购买 nike

每次被问到这个问题时,答案都是像这样使用否定前瞻:(?!x)

很遗憾,我必须在 vb6 中实现美国运通支票,它不支持负向前瞻或负向后视。

是否可以使用最古老的正则表达式实现来匹配除 34、37 之外的所有内容?

我希望这种事情能奏效:^[1,2,4-9][1-3,5-6,8-9][0-9]{13}$

当然,我已经能够将 AmEx 与此表达式匹配:^3[47][0-9]{13}$ 但我还没有找到反转验证的方法规则。

这是我的验证器设置:

       <asp:RegularExpressionValidator
ID="AmExValidator"
Display="None"
ControlToValidate="txtCreditCardNumber"
ValidationExpression="^[1,2,4-9][1-3,5-6,8-9][0-9]{13}$"
ErrorMessage="American Express cards are not accepted."
ValidationGroup="Payment"
runat="server">
</asp:RegularExpressionValidator>```

最佳答案

你可以使用

^([0-24-9][0-9]|3[0-35689])[0-9]{13}$

参见 regex demo . 详细信息:

  • ^ - 字符串的开始
  • ([0-24-9][0-9]|3[0-35689]) - 00294099,或 3 后跟 47 以外的数字
  • [0-9]{13} - 十三位数字
  • $ - 字符串结尾。

关于 "everything except 34,37"的正则表达式没有否定前瞻,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70659238/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com