【发布时间】:2015-09-13 18:56:47
【问题描述】:
我有一个由以下模式的重复组成的字符串
/{\s*%\s*assign\s*\w+\s*=\s*((("|').*("|'))|\d+)\s*%\s*}/
上述模式的重复可以用空格(零个或多个)和换行符(零个或多个)分隔
是否有一个正则表达式可以返回所有上述重复的数组?
我相信由于 .* 我已经包含在我的模式中,这使得事情变得不可能?
如果我的模式难以阅读,我基本上是在尝试解析一个可能具有以下值的字符串:
{% assign some_Variable_Name1 = "http://www.some/value.come" %}
{% assign some_Variable_Name_2 = "http://www.some/value.com.jpg" %} {% assign some_Variable_Name_5 = "http://www.some/value.com.jpg" %}
{% assign some_Variable_Name_3 = 1234 %}
{% assign some_Variable_Name_7 = "http://www.s'ome'/value.com.jpg" %}
根据上面的例子,我想得到以下数组:
['{% assign some_Variable_Name1 = "http://www.some/value.come" %}',
'{% assign some_Variable_Name_2 = "http://www.some/value.com.jpg" %}',
'{% assign some_Variable_Name_5 = "http://www.some/value.com.jpg" %}',
'{% assign some_Variable_Name_3 = 1234 %}',
'{% assign some_Variable_Name_7 = "http://www.s'ome'/value.com.jpg" %}']
【问题讨论】:
-
您对问题的编辑(这完全改变了问题的范围)甚至没有意义,输入字符串和输出数组甚至不匹配。回滚到您的第一个修订版或发布新问题。您当前的问题无法回答。
-
我的最新编辑绝对有意义。与我的 OP 相比,现在唯一改变的是字符串的值和它们之间的空格/换行符。我的问题在第 6 行和后续示例中明确说明,自 OP 以来就是这种情况。你很好地回答了我 80% 的问题。这并不意味着问题已经得到解答。 OP 的标题可能与我在第 6 行的问题略有不同这一事实是一种技术性,不需要提出新问题或当前答案被视为正确的答案。
-
不要过度编辑您的问题,因为它会使现有答案无效。如果您有后续问题,请发布 新 问题。我已经留下了这个,因为第二个答案是在您最后一次重大编辑之后。
标签: javascript regex string