正则表达式选择括号括起来的所有字符,提供等号

时间:2017-02-06 13:47:01

标签: regex conditional

我使用以下正则表达式来选择括号括起来的任何字符串:

/\(([^()]+)\)/g

但是,我只想选择字符串中是否存在等号,例如:

(28%) - 未选中

(A = 28%) - 已选择

这可能吗?

3 个答案:

答案 0 :(得分:2)

正如@Wiktor提到/\(([^()]*=[^()]*)\)/g可以解决您的问题,

https://regex101.com/r/0lmEcb/1

答案 1 :(得分:2)

可以通过 Look-Head 断言在编程语言中像\(.*(?==).*?\)一样工作

(?=)

查找头部为=,您可以在(?==)签名后插入所需内容。它是正则表达式的一部分,而不是常规的等号。因此,您需要在代码中 $(document).on('opening', '#modal', function (e) { $(document.body).append( $('#header_cart').detach() ); }); 。就是这样。

demo

答案 2 :(得分:2)

要添加到Wiktor的评论和RaR的答案,*将匹配这些案例:(=28%)(A=)您可能不需要。您可以使用+确保=两侧都有字符。

\([^(]+=[^)]+\)

演示:https://regex101.com/r/0lmEcb/2