我正在尝试使用正则表达式执行以下匹配。
我试过了:
[B-DF-HJ-NP-TV-XZ]{2,10}
它运作良好,但我不太确定这是否是正确的,最有效的方法在这里做正则表达式。
答案 0 :(得分:1)
所有归功于杰瑞的回答:
^(?:(?![AEIOU])[A-Z]{2}|[A-Z]{3,10})$
说明:
^ =“字符串的开头”,$ =“字符串的结尾”。这对于防止错误匹配很有用(例如,来自11个字符输入的10个字符的匹配,或“AMRXYZ”中的“MR”匹配)。
(?![AEIOU])是字符A,E,I,O和U的负面预测 - 即如果文本包含元音则正则表达式将不匹配。这仅适用于条件“OR”(|)正则表达式的前半部分,因此在较长的匹配中仍然允许元音。
其余内容相当明显,基于您在上述问题中已经证明了对正则表达式的理解。