【问题标题】:javascript regex pattern for _water_glass_water_glass 的 javascript 正则表达式模式
【发布时间】:2015-05-20 03:07:13
【问题描述】:

我需要一个 javascript 正则表达式模式来测试架构变量,因此它应该具有以下任一条件。

  1. 它可以以任何字符开头,后跟“_water_glass”,并且不能是 water_glass 之后的任何字符,例如“xxxx_water_glass”

  1. 可以只是“water_glass”,不必在 water_glass 之前有字符,也不能是 water_glass 之后的任何内容。

任何人都可以帮助获得正则表达式模式。

【问题讨论】:

  • "country_code" 可能意味着很多事情。您是在谈论ISO 3166-1 代码吗?如果是这样,2位数字? 3位数的?你为什么使用正则表达式而不仅仅是一个列表? 您自己尝试过什么,还是希望其他人免费完成您的工作? 如果是,您可以want to hire a freelancer
  • 我的意思是确切的单词“country_code”,而不是 3 位或 2 位数字代码。由于它令人困惑,我现在将其替换为“water_glass”。
  • 那么您的实际问题是“如何匹配以特定模式结尾的单词?”在正则表达式中查找 $ 锚。

标签: javascript regex lodash tv4


【解决方案1】:

试试这个/^.*_?\_water_glass/

    var re = /^.*_?_water_glass/mg; 
var str = 'horse.mp3_country_code\n4343434_country_code\n_country_code';
var m;

while ((m = re.exec(str)) != null) {
    if (m.index === re.lastIndex) {
        re.lastIndex++;
    }
    // View your result using the m-variable.
    // eg m[0] etc.
}

演示https://regex101.com/r/gB9zL7/2

【讨论】:

    【解决方案2】:

    你在这里:

    ^(?:.+_|)water_glass$

    详情

    • ^- 字符串开头
    • (?:.+_|) - 一个可选的 1+ 字符而不是换行符,尽可能多,直到最后一个 _ 包括它
    • water_glass - water_glass 子字符串
    • $ - 字符串结束。

    请参阅this regex demo 和下面的演示代码:

    var re = /^(?:.+_|)water_glass$/gm; 
    var str = 'xxxx_water_glass\nwater_glass';
    var m;
    
    while ((m = re.exec(str)) != null) {
        if (m.index === re.lastIndex) {
            re.lastIndex++;
        }
        // View your result using the m-variable.
        // eg m[0] etc.
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-16
      • 1970-01-01
      相关资源
      最近更新 更多