相关疑难解决方法(0)

正则引用带引号的带引号的字符串

如何" It's big \"problem "使用正则表达式获取子字符串?

s = ' function(){  return " It\'s big \"problem  ";  }';     
Run Code Online (Sandbox Code Playgroud)

regex quotes escaping

112
推荐指数
8
解决办法
14万
查看次数

Tempered Greedy Token - 在负前瞻之前放置点有什么不同

<table((?!</table>).)*</table>
Run Code Online (Sandbox Code Playgroud)

但是,匹配我的所有表格标签

<table(.(?!</table>))*</table>
Run Code Online (Sandbox Code Playgroud)

才不是.第二个似乎是有意义的,如果我试图用文字写出表达,但我无法理解第一个.

有人可以向我解释一下这个区别吗?

作为参考,我从这里得到了"Tempered Greedy Token"这个术语:http://www.rexegg.com/regex-quantifiers.html#tempered_greed

regex eclipse

16
推荐指数
3
解决办法
2334
查看次数

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

要求:两个表达式,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 ×3

eclipse ×1

escaping ×1

javascript ×1

quotes ×1