正则表达式匹配文本文件

时间:2017-01-28 15:01:05

标签: java regex file

我必须创建一个正则表达式来匹配一个文件的内容但我有一个问题。 在这个文件中,我控制着每条线都有这条指令:

  

i =数字j =数字k =数字u =数字

但困难是因为我必须正确匹配

  

j =数字i =数字u =数字k =数字

以及i,j,k和u的任何处置。 如何为所有案例创建一个正则表达式? 请注意,i,j,k,u在同一行上没有任何成熟。 感谢。

2 个答案:

答案 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