匹配模式java和grep字符串

时间:2016-04-03 09:53:08

标签: java android regex pattern-matching

我有一个字符串

NAME: Colin AGE:20 EMAIL;TYPE=PREF,INTERNET:colin@gmail.com

我想在之后提取字符串:pattern。 我想要的输出是

Colin
20
colin@gmail.com

我该怎么做?

3 个答案:

答案 0 :(得分:0)

尝试将^NAME: ([ \.\w]+) AGE:(\d+) EMAIL;TYPE=PREF,INTERNET:([@\.\w]+)$替换为\1\n\2\n\3

答案 1 :(得分:0)

这应该有效

:\s*([^\s]+)

<强> Regex Demo

<强> IDEONE DEMO

答案 2 :(得分:0)

即使您的值中包含多个字词,此方法也可以,例如NAME: Colin Jones

String str = "NAME: Colin Jones AGE:20 EMAIL;TYPE=PREF,INTERNET:colin@gmail.com";

str = str.replaceAll("([\\w,=;]+?):", "##DELIMITER##");

for( String value : str.split("##DELIMITER##") )        
    System.out.println(value.trim());

有关模式的深入解释,要查看匹配的内容(并在将来需要时调整它们),请查看this pattern on regex101.com

请注意,在Java中,您需要两次转义特殊字符,即在regex101.com上使用\w时,您需要在代码中使用\\w