【问题标题】:regex to search 8 character string for two consecutive numbers and letters afterwards正则表达式在 8 个字符串之后搜索两个连续的数字和字母
【发布时间】:2013-05-06 00:54:44
【问题描述】:

您好,我是正则表达式的新手,我发现自己陷入了这个问题。

我有一个 8 字符的字符串,之前已过滤为仅是字母数字,因此该字符串将仅包含数字和字母。我要做的是在字符串中的任何位置找到前两个连续数字,一旦找到,确保两个连续数字之后的任何字符都是字母字符 a-z,如果它不匹配它就返回 false; 到目前为止我有

var str = "abc11hsb";

var testIt = /[0-9]{2}/i;
var test = testIt.test(str);
test //true

但是如果我有这个字符串

var str = "abc11h7b";

我运行与上面相同的测试,它应该返回 false,因为在前两位数字匹配之后,之后的每个字符都应该是一个字母字符 a-z。上面的字符串在 11 之后有一个 7;我的正则表达式只考虑找到两个连续的数字,但不考虑前两个数字后面的每个字符应该是一个字母字符,本质上是 a-z。

希望这很清楚

再次感谢您的帮助

【问题讨论】:

    标签: javascript regex


    【解决方案1】:

    试试这个正则表达式:/[0-9]{2}[a-z]+$/i

    【讨论】:

    • 嘿,杰伊-非常感谢您的回答,我会尽快接受正确的答案-我可以扩展该正则表达式以包含一个例外,即两位数字可能是字符串中的最后一个字符好吧 - 再次感谢
    • 当然,您可以将 + 替换为 * 如下 /[0-9]{2}[a-z]*$/i
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-16
    • 2020-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-30
    相关资源
    最近更新 更多