【问题标题】:regex for appscript, case insensitivy not working [duplicate]打字稿的正则表达式,不区分大小写不起作用[重复]
【发布时间】:2020-03-15 02:09:06
【问题描述】:

下面我尝试使用正则表达式来获取某些字符串的出现。

  var value = "ab-2123 AB-332";
  // "i" is for case insensitive
  var regExp = new RegExp("(ab)[-][0-9]*", "gi"); 
  var searchedString = regExp.exec(value);
  console.log(searchedString); 

这只会检测到ab-2124,但不会检测到AB-33。有人可以帮我找出错误吗?

【问题讨论】:

    标签: javascript regex


    【解决方案1】:

    使用 match 属性代替 exec:

    var value = "ab-2123 AB-332";
    var re = new RegExp("(ab)[-][0-9]*", "gi");
    var searchedString = value.match(re);
    console.log(searchedString); 

    【讨论】:

    • 这真的很有帮助。非常感谢!节省了我很多时间环顾四周! :)
    【解决方案2】:

    首先纠正几个重要的错别字

    var searchedString regExp.exec(value) 应该是var searchedString = regExp.exec(value)

    console.log(searched string); 应该是console.log(searchedString);


    regExp.exec() 只会返回您的第一个匹配项。如果你想要多个,你可以使用String.match(regExp)

    let value = "ab-2123 AB-332";
    
      let regExp = new RegExp("(ab)[-][0-9]*", "gi"); // "i" is for case insensitive
      let searchedString = value.match(regExp);
      console.log(searchedString);

    【讨论】:

      猜你喜欢
      • 2019-07-09
      • 2018-07-07
      • 2012-11-01
      • 2011-04-22
      • 1970-01-01
      • 1970-01-01
      • 2015-12-25
      • 1970-01-01
      相关资源
      最近更新 更多