我在RegEx很可怕,我需要一个正则表达式来测试某个字符串是否以某种方式结束。例如,如果RegEx测试以foo结尾,“somestringfoo” - > True和“someotherFoostring” - > False。它需要区分大小写,并使用字母数字和下划线。下面是我得到了什么,但我不能得到它的工作:RegEx测试字符串结尾?
var test = RegExp.test('/foo$/');
我在RegEx很可怕,我需要一个正则表达式来测试某个字符串是否以某种方式结束。例如,如果RegEx测试以foo结尾,“somestringfoo” - > True和“someotherFoostring” - > False。它需要区分大小写,并使用字母数字和下划线。下面是我得到了什么,但我不能得到它的工作:RegEx测试字符串结尾?
var test = RegExp.test('/foo$/');
test
是正则表达式对象的一种方法,所以它将是/foo$/.test(someString)
或new Regexp("foo$").test(someString)
。
但是,测试以某个子字符串结尾的字符串不需要正则表达式,请参见endsWith in JavaScript。
本应该做的工作:
function isFoo(string){
var pattern = /foo$/;
return pattern.test(string);
}
你会做这种方式:
/foo$/.test("somestringfoo")
我试图使用,但我得到无效的正则表达式: 如果(/ <跨度ID = “lastmessage” 风格= “显示:无;”>斯蒂芬 $ /测试(xmlhttp.responseText)。){ 为mySound。玩(); } – 2012-07-08 15:39:48
这是一个无效的正则表达式,是的。你当然需要逃避分隔符。 – Bergi 2012-07-08 15:43:18
@Stephen如果你不需要正则表达式的特性,但只需要一个普通的字符串匹配,你应该使用简单的字符串操作:'str.substr(-pattern.length)=== pattern'。 – Gumbo 2012-07-08 15:43:48
非常感谢!我不知道! – 2012-07-08 15:49:13