正则表达式,忽略组中的最后一场比赛

Regex, ignore last match in group

我只想在下面的行中捕捉世界

"ArticleDAO"

注意: it.foo.burp 可以是任何包,class 名称可以是任何以 "Local".

结束或不结束的东西

如果 Local 存在,则必须省略。

这是我的正则表达式:

(.*\.)([\w]+)(?:Local)?

这适用于第二个示例,但不适用于第一个示例,因为它还捕获了 "Local" ($1)

您可以将此正则表达式与 可选 匹配和惰性量词一起使用:

(\w+?)(?:Local)?$

RegEx Demo

您的比赛在捕获的组 # 1 中可用。

  • (\w+?):将匹配1个或多个单词字符(非贪婪)
  • (?:Local)?$:将在行结束前匹配可选的Local