正则表达式匹配冒号后面的字符串“:”

时间:2016-12-25 14:05:02

标签: regex

我需要根据正则表达式从任何字符串中识别一个子字符串。

例如,请使用以下字符串:

  1. 它发送了货物交付通知:UserName1
  2. 发送货物交付通知:找不到用户,UserName2
  3. 它发送了收货通知:UserName1
  4. 它发送了收货通知:未找到用户,UserName2
  5. 我想在冒号后得到文本

    1. USERNAME1
    2. 找不到用户,UserName2
    3. USERNAME1
    4. 找不到用户,UserName2

3 个答案:

答案 0 :(得分:2)

您可以像这样使用正则表达式:

":(.*)"

然后,您应该使用类似这样的东西(在Java上):

Matcher m = Pattern.compile(":(.*)").matcher(text);

if (m.find())
{
    System.out.println(m.group(1));
}

答案 1 :(得分:0)

import java.util.regex.Matcher; import java.util.regex.Pattern;

public class MatchColon {

    private Pattern pattern;
    private Matcher matcher;

    private static final String MATCHCOLON_PATTERN =
        ":(.*)";

    public MATCHCOLON(){
      pattern = Pattern.compile(MATCHCOLON_PATTERN);
    }

    public boolean validate(final String colon){
      matcher = pattern.matcher(colon);
      return matcher.matches();
    }
}

答案 2 :(得分:0)

我认为这是您想要的:

(?<=:).*