Javascript正则表达式匹配两个字符串之间的子字符串,但子字符串可以包含点(.)

标签 javascript regex

我确实想匹配 {{}} 之间的所有子字符串

当此子字符串不包含 . 时,正则表达式可以正常工作:

"When he come, {{person}} will give his son {{something}}".match(/{{(\w*)}}/g) ; 

结果:

["{{person}}", "{{something}}"]

现在,如果此子字符串包含 .(dot) ,则正则表达式无法按预期工作:

"When he come, {{person.firstname}} will give his son {{something}}".match(/{{(\w*)}}/g) ;

结果:

["{{something}}"]

如何更改正则表达式以能够处理包含 DOT 的子字符串,例如: person.firstname 。 ?

最佳答案

或使用此模式来匹配 {{}} 之间的任何内容

{{([^}]*)}}

说明:

[^}] a character class, anything but "}"

关于Javascript正则表达式匹配两个字符串之间的子字符串,但子字符串可以包含点(.),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28776508/

相关文章:

javascript - JS Math - 获取 Var Val 并四舍五入到最接近的第 100 位

regex - 用 "-"替换所有空格

mysql - REGEX_REPLACE 不匹配从开始到第一次出现 5 位数字单词的所有字符

regex - 为什么我的 HTML5 表单验证模式 (/^\S{6,}$/) 触发不正确?

python - 取消维基百科同义词括号

c# - 通过提交按钮传递值?

javascript - PHP minify 函数似乎破坏了内联 JS?

javascript - 谷歌图表在第一次请求时不显示,但仅在第二次请求时显示

javascript - 为什么使用 nginx 作为 websocket 代理?

php - 如何按类获取图片src