Java 至少有1个大写字符的引号内的匹配字符串
我在java文件中有一些字符串行,并尝试执行Eclipse正则表达式搜索,但它不起作用。我想突出显示RequestParam(value= 所以从下面三行开始,只有中间一行应该匹配ie RequestParam(value=“someNumber”)其中包含大写字母“N”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
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]*
匹配除引号后跟引号之外的任何字符。我的演示链接也有一些解释。