我试图创建一个正则表达式,以匹配具有以下特点的字符串: 该字符串必须包含偶数个字符 该字符串中必须包含与字母数量相同的数字 应该匹配: A3D4 A34DF5 22FF 我尝试了一下,但没有找到解决方案。您能帮我吗?
如果您使用的编程语言支持正则表达式子程序,那么以下内容应该符合您的需求:^([A-Z](?1)*[0-9]|[0-9](?1)*[A-Z])+$ 通过 Debuggex 可视化 regex101 上的演示
使用正则表达式仅保留字母或数字并进行比较: (以 JavaScript 为例) var str = 'A34DF5'; var result = str.replace(/[^a-z]/gi,'').length == str.replace(/[^0-9]/gi,'').length ;
+
修复了它,Sly。或者这里有一个更有效率的版本,带有较少的回溯:^(?:([A-Z](?1)*[0-9])|([0-9](?2)*[A-Z]))+$
。 - ZantierA1A1A1A1A1A1A1A1A1A1A1A1A1
,regex101.com 左侧的"正则表达式调试器"显示您的需 73727 步,而我的只需要 100 步。当然,除非您确实必须使用正则表达式,否则有更好的方法可以更有效地解决问题。 - Zantier