正则表达式,用于捕获嵌套括号中的值

Pato05

我试图使用正则表达式来匹配两个字符之间的内部文本,但是我得到了错误的文本

我尝试放置[Az] *而不是。*来仅匹配内部文本,并且可以正常工作。但是我也需要匹配非字母字符。

/\[?(,? ?\[(\[(.+)-(.+)\])\])\]?/g

这是我的正则表达式,我想匹配方括号之间的字符:

[[[ hello-hello]],[[hi -hi]]]

粗体字符是匹配的字符。

我期望匹配[[[您好,您好],[喜喜]]]在比赛1和[[[您好,您好],[喜喜]]]在比赛两项。

艾玛

如果[]期望介于两者之间的所有内容,那么我们可以将表达式简化为:

(?:\[+)(.+?)(?:\]+)

在这里,我们在此捕获组中捕获了可能需要的子字符串:

(.+?)

然后,我们使用两个非捕获组在其左侧和右侧添加两个边界:

(?:\[+)
(?:\]+)

演示版

const regex = /(?:\[+)(.+?)(?:\]+)/g;
const str = `[[[hello-hello]]
[[hi-hi]]]
[[hi hi]]]`;
const subst = `$1`;

// The substituted value will be contained in the result variable
const result = str.replace(regex, subst);

console.log('Substitution result: ', result);

在此处输入图片说明

正则表达式

如果不需要此表达式,则可以在regex101.com中对其进行修改/更改

RegEx电路

jex.im可视化正则表达式:

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Javascript正则表达式,用于捕获括号中的变量

正则表达式:捕获成对的花括号

正则表达式解析括号中的值

正则表达式以匹配不在嵌套块中的括号或大括号内的管道

正则表达式,用于捕获PHP中的特定值

正则表达式用于捕获括号中的数字

正则表达式删除嵌套的括号

灾难性的回溯;正则表达式,用于提取嵌套括号中的值

Perl正则表达式获取不在括号或嵌套括号中的逗号

正则表达式用于仅从JSON字符串中捕获特定键的值

括号中的正则表达式

正则表达式:捕获括号内的任何内容,也嵌套嵌套的括号

正则表达式以提取括号中的值java

正则表达式非捕获括号问题

Python中的嵌套正则表达式,用于

正则表达式,用于捕获HTML源代码中花括号之间的所有内容

正则表达式提取括号和方括号中的嵌套模式

用于花括号的正则表达式数字Java中的花括号({n})

正则表达式用于提取括号中的嵌套参数

正则表达式用于在嵌套括号内获取值

C#正则表达式,用于匹配嵌套括号内的分隔文本

正则表达式中的括号

什么正则表达式可以将括号中的文本与嵌套括号匹配

用于收集括号之间值的正则表达式 ()

花括号之间的正则表达式,但忽略嵌套

正则表达式中的嵌套方括号

用于捕获文件中地址的正则表达式

带有嵌套方括号的正则表达式

在正则表达式中解析嵌套的捕获组