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)
但在一般情况下,exec
或replace
基于循环导致更简单的代码:
words = []
a.replace(/\[(.+?)\]/g, function($0, $1) { words.push($1) })
Run Code Online (Sandbox Code Playgroud)
这个小提琴使用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)