DEMON_ZYF
2010-08-30 19:57 阅读 194
已采纳

正则表达式问题,急求

比如一个文本"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,太不明显了,比较头疼

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    antiwise OPPPPOP 2010-08-31 10:03

    [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]

    点赞 评论 复制链接分享
  • findhappy117 findhappy117 2010-08-31 18:59

    [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]

    点赞 评论 复制链接分享

相关推荐