相关疑难解决方法(0)

正则表达式匹配外括号

我需要一个正则表达式来选择两个外括号之间的所有文本.

例: some text(text here(possible text)text(possible text(more text)))end text

结果: (text here(possible text)text(possible text(more text)))

regex

266
推荐指数
12
解决办法
32万
查看次数

与具有量化替代方案的较短正则表达式符号相比,展开循环的优势是什么?

要求:两个表达式,exp1exp2,我们需要匹配两者中的一个或多个。所以我想出了,

(exp1 | exp2)*
Run Code Online (Sandbox Code Playgroud)

但是在某些地方,我看到以下正在使用,

(exp1 * (exp2 exp1*)*)
Run Code Online (Sandbox Code Playgroud)

两者有什么区别?你什么时候会使用一个?

希望小提琴能让这更清楚,

var regex1 = /^"([\x00-!#-[\]-\x7f]|\\")*"$/;
var regex2 = /^"([\x00-!#-[\]-\x7f]*(\\"[\x00-!#-[\]-\x7f]*)*)"$/;

var str = '"foo \\"bar\\" baz"';
var r1 = regex1.exec(str);
var r2 = regex2.exec(str);
Run Code Online (Sandbox Code Playgroud)

编辑:当我们捕获组时,这两个方法之间的行为似乎有所不同。第二种方法捕获整个字符串,而第一种方法仅捕获最后一个匹配组。请参阅更新的小提琴

javascript regex

5
推荐指数
2
解决办法
1122
查看次数

标签 统计

regex ×2

javascript ×1