Javascript 字符串包含方括号时正则表达式中断
我一直在使用这个正则表达式来提取mustached{{{Hello}}内容:Javascript 字符串包含方括号时正则表达式中断,javascript,regex,mustache,Javascript,Regex,Mustache,我一直在使用这个正则表达式来提取mustached{{{Hello}}内容: /{{\s*[\w\.]+\s*}}/g 当留胡子的字符串包含方括号时,它会下降。我已经摆弄它好长时间了,但没有用,有谁能建议一个调整,这将意味着它将匹配{{Hello[0]}}?我是你的哈克贝利: \{\{(.*?)\}\} 我总是使用优秀的软件来处理这些问题 因此,为了解释为什么这适用于这种情况: 首先,考虑{{我们用反斜杠“逃逸”),下一个字符不由表达式来计算,例如,它只是寻找那个字符,我们寻找的第一个字符是
/{{\s*[\w\.]+\s*}}/g
当留胡子的字符串包含方括号时,它会下降。我已经摆弄它好长时间了,但没有用,有谁能建议一个调整,这将意味着它将匹配{{Hello[0]}}?我是你的哈克贝利:
\{\{(.*?)\}\}
我总是使用优秀的软件来处理这些问题
因此,为了解释为什么这适用于这种情况:
首先,考虑{{我们用反斜杠“逃逸”),下一个字符不由表达式来计算,例如,它只是寻找那个字符,我们寻找的第一个字符是卷曲括号。
然后我们再重复一遍,得到第二个花括号。
接下来,我们打开一个括号,创建一个“组”来捕获多个令牌,这样我们就可以捕获括号内的所有内容。
.匹配除换行符以外的任何字符。
*与前面的零个或多个标记相匹配,在这种情况下,除了换行符以外的任何标记都匹配
?使前面的量词“懒惰”,因为它将匹配尽可能少的量词。
然后我们关闭小组。
最后,我们用另外两个转义字符\}\}结束
我是你的哈克贝利:
\{\{(.*?)\}\}
我总是使用优秀的软件来处理这些问题
因此,为了解释为什么这适用于这种情况:
首先,考虑{{我们用反斜杠“逃逸”),下一个字符不由表达式来计算,例如,它只是寻找那个字符,我们寻找的第一个字符是卷曲括号。
然后我们再重复一遍,得到第二个花括号。
接下来,我们打开一个括号,创建一个“组”来捕获多个令牌,这样我们就可以捕获括号内的所有内容。
.匹配除换行符以外的任何字符。
*与前面的零个或多个标记相匹配,在这种情况下,除了换行符以外的任何标记都匹配
?使前面的量词“懒惰”,因为它将匹配尽可能少的量词。
然后我们关闭小组。
最后,我们用另外两个转义字符\}\}结束
你的意思是除了[\w.\[\]]?^你的意思是除了[\w.\[\]]?^甚至:{{{[^}]+\},它不依赖于惰性匹配,但不会与{{{Foo}Bar}一起工作。如果可以,请简要说明这是如何解决问题的?给一个人一条鱼。。。yadda yadda@GigaWatt-只是根据请求添加了详细信息。甚至:\{{[^}]+\},它不依赖于惰性匹配,但不适用于{{{Foo}Bar}。如果可以,请简要说明如何解决此问题?给一个人一条鱼。。。yadda yadda.@GigaWatt-刚刚根据要求添加了详细信息。