我正在处理一个涉及正则表达式的项目,而我遇到的问题是我需要制作一个符合以下条件的正则表达式:
private int GoodYear(String in, int j){
private static int GoodYear(String in, int j){
private final int GoodYear(String in, int j){
private static final int GoodYear(String in, int j){
private final static int goodYear(String in, int j){
我已经做到了这一点:
^\s*(public\s+|private\s+|protected\s+)?(static\s+)?(final\s+)?(\w+)\s+(\w+)\s*\((.*)\)\s*\{
它匹配前四个而不是最后一个。如何修复我的正则表达式,以便它能读取"静态"和"最终"在任何一个顺序?
非常感谢任何和所有帮助!
-Chris
答案 0 :(得分:0)
我会使用以下模式:
private\s*?(((final\s*?static)|(static\s*?final))|(final)|(static))?\s*?int\s*?goodyear\(.*?\){
该模式包含((final\s*?static)|(static\s*?final))
,可让您匹配"最终静态"或者"静态决赛"。
答案 1 :(得分:0)
要按任意顺序匹配,请使用
((?:static(?:\s+final)?|final(?:\s+static)?)\s+)?