我必须创建一个正则表达式来匹配一个文件的内容但我有一个问题。 在这个文件中,我控制着每条线都有这条指令:
i =数字j =数字k =数字u =数字
但困难是因为我必须正确匹配
j =数字i =数字u =数字k =数字
以及i,j,k和u的任何处置。 如何为所有案例创建一个正则表达式? 请注意,i,j,k,u在同一行上没有任何成熟。 感谢。
答案 0 :(得分:3)
(([ijku]=)(?!.*\\2)number(?:\\s(?=\\w)|$)){4}
将为您效劳。这也处理重复案例。
public static void main(String[] args){
String s = "i=number j=number k=number u=number";
System.out.println(s.matches("(([ijku]=)(?!.*\\2)number(?:\\s(?=\\w)|$)){4}"));
s = "u=number j=number k=number i=number";
System.out.println(s.matches("(([ijku]=)(?!.*\\2)number(?:\\s(?=\\w)|$)){4}"));
s = "u=number j=number k=number u=number";
System.out.println(s.matches("(([ijku]=)(?!.*\\2)number(?:\\s(?=\\w)|$)){4}"));
}
O / P:
true
true
false
答案 1 :(得分:1)
您正在寻找的是字符类:
[ijku]=number [ijku]=number [ijku]=number [ijku]=number