Java 至少有1个大写字符的引号内的匹配字符串

Java 至少有1个大写字符的引号内的匹配字符串,java,regex,eclipse,pattern-matching,Java,Regex,Eclipse,Pattern Matching,我在java文件中有一些字符串行,并尝试执行Eclipse正则表达式搜索,但它不起作用。我想突出显示RequestParam(value= 所以从下面三行开始,只有中间一行应该匹配ie RequestParam(value=“someNumber”)其中包含大写字母“N” public Response searchA(@RequestParam(value = "_s", required = true) String searchExpression, public Response get

我在java文件中有一些字符串行,并尝试执行Eclipse正则表达式搜索,但它不起作用。我想突出显示RequestParam(value= 所以从下面三行开始,只有中间一行应该匹配ie RequestParam(value=“someNumber”)其中包含大写字母“N”

public Response searchA(@RequestParam(value = "_s", required = true) String searchExpression,
public Response getNumber(@RequestParam(value = "someNumber", required = true) String agencyNumber,
public Response getStuff(@PathVariable("id") String asnId, @RequestParam(value = "customerid") String customerId, 
我构造了一个正则表达式,它似乎在regex101上工作,但在eclipse中不起作用。

刚刚在eclipse中测试了您的正则表达式。如果在“查找”对话框中启用了复选框“大小写敏感”和“正则表达式”,它将以正确的方式工作。

这应该在eclipse搜索中起作用:

RequestParam *\( *value *= *"[^"\nA-Z]*[A-Z][^"\n]*"


确保在Eclipse搜索中选中了区分大小写的
regex
复选框。

它可以工作,但你能解释一下这个正则表达式吗。它似乎比我预期的更复杂。实际上并不复杂。大多数
*
都是用来匹配0或更多空格的。
“[^”\nA-Z]*
匹配一个引号,然后匹配除大写字母或引号以外的任何字符中的0个或多个。
[a-Z]
匹配大写字母。
[^”\n]*
匹配除引号后跟引号之外的任何字符。我的演示链接也有一些解释。