javascript - 使用正则表达式搜索双括号文本或双括号

标签 javascript regex

我需要选择字符串中双括号和双括号之间但允许非双括号和括号的值

我对双括号使用了以下表达式,但如果它在字符串中有一个括号,它就会被破坏。这应该只能通过双括号来打破,但我不知道如何制作正则表达式

/{{([^}]*)}}/g

/\({2}([^)]*)\){2}/g

我尝试在这里添加双支撑,但它不起作用:

/{{([^}}]*)}}/g

最佳答案

因为你想允许在内部使用单个大括号,所以你不应该使用负字符集——相反,从左边的分隔符开始并延迟重复任何字符,直到你到达右边的分隔符。例如:

/{{(.*?)}}/

const pattern = /{{(.*?)}}/g;
const str = 'foo{{bar}} foo{{baz}} foo{{with}bracket}}';
console.log(str.match(pattern));

关于javascript - 使用正则表达式搜索双括号文本或双括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53690784/

相关文章:

javascript - 将动态变化的 R htmlwidget 嵌入到网页中

XML 模式上的 Java 字符串替换

javascript - 使用 D3 转换禁用 SVG 上的悬停 CSS

javascript - 如何在javascript中的N个字符数后插入新行?

php - 菜鸟: display err_msg on page (pt. 2)

javascript - 当 IE 8 中的尺寸更改(高度、宽度)时,VML 中的可拖动元素会卡住

regex - 关于 perl 中的 chdir,我如何回到上一个目录

正则表达式不适用于 Perl 中的特定特殊字符

java - 正则表达式 - 匹配不包含字符串的模式

python - 仅匹配 Python re 中的 unicode 字母