gpt4 book ai didi

regex - 我可以将2个正则表达式与逻辑“组合”在一起吗?

转载 作者:行者123 更新时间:2023-12-03 21:19:33 24 4
gpt4 key购买 nike

我需要验证文本框输入作为信用卡号。我已经有不同信用卡的正则表达式:


签证:^4[0-9]{12}(?:[0-9]{3})?$
万事达卡:^([51|52|53|54|55]{2})([0-9]{14})$
美国运通卡:^3[47][0-9]{13}$


还有很多其他

问题是,我想根据不同的用户使用不同的正则表达式进行验证。例如:对于user1,可以使用Visa和Mastercard,而对于user2,可以使用Visa和American Express。因此,我想动态生成最终的regex字符串,结合上面的一个或多个regex字符串,例如:

user1Regex = Visa regex + "||" + Mastercard regex

user2Regex = Visa regex + "||" + American Express regex


有没有办法做到这一点?谢谢,

最佳答案

您没有陈述您的语言,但是出于任何原因我怀疑这是JavaScript。做就是了:

var user1Regex = new RegExp('(' + Visaregex + ")|(" + Mastercardregex + ')');
// or if es6:
let user1Regex = new RegExp(`(${Visaregex})|(${Mastercardregex})`);


您也可以使用 (?:)来加快执行速度(不捕获分组),但是为了便于阅读,我省略了它。

关于regex - 我可以将2个正则表达式与逻辑“组合”在一起吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4947561/

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