Javascript:如何检查字符串是否以2个字母后跟一个整数结尾?

时间:2013-02-14 20:25:44

标签: javascript jquery

我想检查字符串是否以ab结尾,后跟一个整数。

给定任何字符串s,我如何首先检查它是以ab1还是ab2还是b3结尾,如果是,请返回ab1ab2ab3

例如,对于字符串sdfsadfsab2,我想返回ab2 对于字符串asdfase,我想返回空字符串。

javascript或jquery中是否有正则表达式可以执行此操作?谢谢。

4 个答案:

答案 0 :(得分:5)

你所追求的正则表达式很可能是:

/ab[0-9]$/

如果你想要一个测试器功能,那么这个功能看起来像这样:

function testABInt(string)
{
    var match = string.match(/ab[0-9]$/);
    return match ? match[0] : '';
}

如果ab是小写字符,只匹配字符串的结尾,如果最后只有一个 int,为了匹配不区分大小写,请添加{ {1}}标记,和/或添加i以匹配所有尾随数字:

+

答案 1 :(得分:1)

使用replace的一种方式:

str.replace(/.*(ab\d+)$/, "$1");

使用match的另一种方式:

(str.match(/ab\d+$/) || [""]).pop();

答案 2 :(得分:1)

var regex = /([a-zA-Z]{2}[0-9])$/;
var str = "sdfsadfsab2";
console.log(str.match(regex)[0]); //outputs "ab2"

正则表达式的解释:

  • [a-zA-Z] - 大写字母
  • 中a-z字母的集合
  • {2} - 意思是“重复2次”
  • [0-9] - 0到9之间的数字集合
  • $ - 意思是“字符串的结尾”

答案 3 :(得分:1)

使用$匹配字符串的结尾:

'foo2'.match(/[a-z]{2}\d$/);