RegEx从方括号内获取文本

soh*_*aan 8 javascript regex jquery

可能重复:
正则表达式查找包含在两个字符之间的字符串,同时排除分隔符

我有一个函数,我必须得到方括号括起但不包括括号的文本

this is [test] line i [want] text [inside] square [brackets]
Run Code Online (Sandbox Code Playgroud)

从上面一行我想要的话

测试

括号

我正在努力做到这一点, /\[(.*?)\]/g 但我没有得到满意的结果我得到括号内的字,但也括号,这不是我想要的

我确实在SO上搜索了一些类似的问题,但这些解决方案中没有一个适合我,这是一个发现(?<=\[)[^]]+(?=\])这在RegEx教练中有效而不是javascript.这里是refrence从那里我得到这个

这是我到目前为止所做的演示

请帮忙

geo*_*org 25

单一的前瞻应该在这里做的诀窍:

 a = "this is [test] line i [want] text [inside] square [brackets]"
 words = a.match(/[^[\]]+(?=])/g)
Run Code Online (Sandbox Code Playgroud)

但在一般情况下,execreplace基于循环导致更简单的代码:

words = []
a.replace(/\[(.+?)\]/g, function($0, $1) { words.push($1) })
Run Code Online (Sandbox Code Playgroud)


Sin*_*son 5

这个小提琴使用RegExp.exec并仅输出括号内的内容.

var data = "this is [test] line i [want] text [inside] square [brackets]"
var re= /\[(.*?)\]/g;
for(m = re.exec(data); m; m = re.exec(data)){
    alert(m[1])
}
Run Code Online (Sandbox Code Playgroud)