我想检查字符串是否以ab
结尾,后跟一个整数。
给定任何字符串s
,我如何首先检查它是以ab1
还是ab2
还是b3
结尾,如果是,请返回ab1
或ab2
或ab3
。
例如,对于字符串sdfsadfsab2
,我想返回ab2
对于字符串asdfase
,我想返回空字符串。
javascript或jquery中是否有正则表达式可以执行此操作?谢谢。
答案 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]
- 大写字母{2}
- 意思是“重复2次”[0-9]
- 0到9之间的数字集合$
- 意思是“字符串的结尾”答案 3 :(得分:1)
使用$
匹配字符串的结尾:
'foo2'.match(/[a-z]{2}\d$/);