【问题标题】:Regex to find some pattern in javascript正则表达式在 javascript 中查找一些模式
【发布时间】:2014-04-21 09:11:21
【问题描述】:

我有一个包含某种文本模式的字符串,我需要找到该模式。

例如:

var texttochange = ' [variable field="##Menu.name##" /]<br>
                     [img value='##Menu.image##' width='200' height='200'
                     borderthickness='0' keepaspect='0' bordercolor='#'
                     alttext='' borderstyle='solid'][/img]<br>
                     [variable field="##Menu.description##" /]<br>
                     [variable field="##Menu.cost##" /]<br>';

我写了下面的正则表达式来找到这个模式##sometext.sometext##

var regexp = /##\S+.\S+##/gi;
var matchesfound = regexp.exec(texttochange);

根据我的要求,我需要所有字段,即["##Menu.name##"],["##Menu.image##"],["##Menu.description##"],["##Menu.cost##"]但在var matchesfound,我只得到["##Menu.name##"]

【问题讨论】:

    标签: javascript jquery regex


    【解决方案1】:

    试试这个:

    var str = ' [variable field="##Menu.name##" /]<br>
                [img value="##Menu.image##" width="200" height="200" 
                borderthickness="0" keepaspect="0" bordercolor="#" 
                alttext="" borderstyle="solid"][/img]<br>
                [variable field="##Menu.description##" /]<br>
                [variable field="##Menu.cost##" /]<br>';
    
    var regex = /##\S+.\S+##/gi, result, indices = [];
    
    while ( (result = regex.exec(str)) ) {
      indices.push(result.toString());
    }
    console.log(indices);
    

    Working Demo

    【讨论】:

    • +1 它有效,但是您正在将 result.index 推送到索引中,而我需要该值...无论如何..Thankz
    • @FurquanKhan:使用result/result.toString()
    【解决方案2】:
    var texttochange = '[variable field="##Menu.name##" /]<br>[img value="##Menu.image##" width="200" height="200" borderthickness="0" keepaspect="0" bordercolor="#" alttext="" borderstyle="solid"][/img]<br>[variable field="##Menu.description##" /]<br>[variable field="##Menu.cost##" /]<br>'
    
    var regexp = /##\S+.\S+##/gi;
    
    
    texttochange.match(regexp)
    ["##Menu.name##", "##Menu.image##", "##Menu.description##", "##Menu.cost##"]
    

    【讨论】:

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