Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 字符串包含方括号时正则表达式中断_Javascript_Regex_Mustache - Fatal编程技术网

Javascript 字符串包含方括号时正则表达式中断

Javascript 字符串包含方括号时正则表达式中断,javascript,regex,mustache,Javascript,Regex,Mustache,我一直在使用这个正则表达式来提取mustached{{{Hello}}内容: /{{\s*[\w\.]+\s*}}/g 当留胡子的字符串包含方括号时,它会下降。我已经摆弄它好长时间了,但没有用,有谁能建议一个调整,这将意味着它将匹配{{Hello[0]}}?我是你的哈克贝利: \{\{(.*?)\}\} 我总是使用优秀的软件来处理这些问题 因此,为了解释为什么这适用于这种情况: 首先,考虑{{我们用反斜杠“逃逸”),下一个字符不由表达式来计算,例如,它只是寻找那个字符,我们寻找的第一个字符是

我一直在使用这个正则表达式来提取mustached{{{Hello}}内容:

/{{\s*[\w\.]+\s*}}/g
当留胡子的字符串包含方括号时,它会下降。我已经摆弄它好长时间了,但没有用,有谁能建议一个调整,这将意味着它将匹配{{Hello[0]}}?

我是你的哈克贝利:

\{\{(.*?)\}\}
我总是使用优秀的软件来处理这些问题

因此,为了解释为什么这适用于这种情况:

首先,考虑{{我们用反斜杠“逃逸”),下一个字符不由表达式来计算,例如,它只是寻找那个字符,我们寻找的第一个字符是卷曲括号。 然后我们再重复一遍,得到第二个花括号。 接下来,我们打开一个括号,创建一个“组”来捕获多个令牌,这样我们就可以捕获括号内的所有内容。 .匹配除换行符以外的任何字符。 *与前面的零个或多个标记相匹配,在这种情况下,除了换行符以外的任何标记都匹配 ?使前面的量词“懒惰”,因为它将匹配尽可能少的量词。 然后我们关闭小组。 最后,我们用另外两个转义字符\}\}结束 我是你的哈克贝利:

\{\{(.*?)\}\}
我总是使用优秀的软件来处理这些问题

因此,为了解释为什么这适用于这种情况:

首先,考虑{{我们用反斜杠“逃逸”),下一个字符不由表达式来计算,例如,它只是寻找那个字符,我们寻找的第一个字符是卷曲括号。 然后我们再重复一遍,得到第二个花括号。 接下来,我们打开一个括号,创建一个“组”来捕获多个令牌,这样我们就可以捕获括号内的所有内容。 .匹配除换行符以外的任何字符。 *与前面的零个或多个标记相匹配,在这种情况下,除了换行符以外的任何标记都匹配 ?使前面的量词“懒惰”,因为它将匹配尽可能少的量词。 然后我们关闭小组。 最后,我们用另外两个转义字符\}\}结束
你的意思是除了[\w.\[\]]?^你的意思是除了[\w.\[\]]?^甚至:{{{[^}]+\},它不依赖于惰性匹配,但不会与{{{Foo}Bar}一起工作。如果可以,请简要说明这是如何解决问题的?给一个人一条鱼。。。yadda yadda@GigaWatt-只是根据请求添加了详细信息。甚至:\{{[^}]+\},它不依赖于惰性匹配,但不适用于{{{Foo}Bar}。如果可以,请简要说明如何解决此问题?给一个人一条鱼。。。yadda yadda.@GigaWatt-刚刚根据要求添加了详细信息。