【问题标题】:RegEx test for string ending?字符串结尾的正则表达式测试?
【发布时间】:2012-07-08 15:24:46
【问题描述】:

我在正则表达式方面很糟糕,我需要一个正则表达式来测试某个字符串是否以某种方式结束。例如,如果 RegEx 测试以 foo 结尾,“somestringfoo” -> True 和“someotherFoostring” -> False。它需要区分大小写并使用字母数字和下划线。这是我所拥有的,但我无法让它工作:

var test = RegExp.test('/foo$/');

【问题讨论】:

    标签: javascript regex testing


    【解决方案1】:

    你会这样做:

    /foo$/.test("somestringfoo")
    

    【讨论】:

    • 我尝试使用它,但我得到无效的正则表达式: if (/$/.test(xmlhttp. responseText)) { mySound.play(); }
    • 这是一个无效的正则表达式,是的。您当然需要转义分隔符。
    • @Stephen 如果你不需要正则表达式的特性而只需要一个普通的字符串匹配,你应该使用简单的字符串操作来代替:str.substr(-pattern.length) === pattern。
    【解决方案2】:

    test 是正则表达式对象的一个​​方法,所以它应该是/foo$/.test(someString) 或new Regexp("foo$").test(someString)。

    但是,测试以某个子字符串结尾的字符串不需要正则表达式,请参阅endsWith in JavaScript。

    【讨论】:

      【解决方案3】:

      这应该做的工作:

      function isFoo(string){
        var pattern = /foo$/;  
        return pattern.test(string);
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-07-01
        • 2011-07-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-23
        • 2015-09-28
        相关资源
        最近更新 更多