比如一个文本"1ASDF NI1221312 HK1 2222/1
1QWW NI1232133 HK1 3333/1"
两行文本,比如第1行表示旅客1的信息,第2行表示旅客2的信息,后面可能还有很多旅客信息,如何用正则表达式提取每个旅客的信息?最后结果类似于String1:1ASDF NI1221312 HK1 2222/1,String2:1QWW NI1232133 HK1 3333/1
另外:一个旅客信息不一定是1行,头尾结束标记都是1,太不明显了,比较头疼
[code="java"]
String str="1ASDF NI1221312 HK1 2222/1"+
"1QWW1 NI1232133 HK1 3333" +
"1QWW2 NI1232133 HK1 33331"+
"1QWW3 NI1232133 HK1 33331/1"+
"1QWW4 NI1232133 HK1 33331"+
"1QWW5 NI1232133 HK1 3333/1";
Pattern p=Pattern.compile("(1)(?:.|\n)*?/\1");
Matcher m=p.matcher(str);
while(m.find())
System.out.println(m.group());
[/code]
[code="java"]
String str="1ASDF NI1221312 HK1 2222/1"+
"1QWW1 NI1232133 HK1 3333" +
"1QWW2 NI1232133 HK1 33331"+
"1QWW3 NI1232133 HK1 33331/1"+
"1QWW4 NI1232133 HK1 33331"+
"1QWW5 NI1232133 HK1 3333/1";
Pattern p=Pattern.compile("(1)(?:.|\n)*?/\1");
Matcher m=p.matcher(str);
while(m.find())
System.out.println(m.group());
[/code]