如何在满足另一个正则表达式的字符串范围内覆盖正则表达式

时间:2014-12-30 06:41:23

标签: java regex

我想为双引号字符串找到正则表达式。为此,我只是简单地放了以下表达式

\".*\"

但问题是如果某些与另一个正则表达式匹配的字符串在双引号内,则上面的表达式将不匹配。

例如:如果我们想为双引号字符串赋予特定颜色,该字符串也包含与其他正则表达式匹配的字符串(例如:关键字或数字,为关键字和数字提供不同颜色),则不会给出预期结果。即,如果关键字或数字出现在双引号内,它将采用关键字或数字本身的颜色,而不是采用双引号字符串的颜色。如何解决这个问题?有没有办法覆盖常规表达式在另一个表达式中?

1 个答案:

答案 0 :(得分:0)

"[^"]+"|\d+

以这种方式尝试你的正则表达式.Put ""引用正则表达式第一个与其他正则表达式在管道传输之后。这种方式""将被首先消耗,其余的正则表达式将不适用于它。参见演示。

https://regex101.com/r/rU8yP6/2