正则表达式:Java:匹配2个空格之间的词
问题描述:
如何使用正则表达式从下面的字符串中提取“id”。正则表达式:Java:匹配2个空格之间的词
string = 11,"col=""book"" id=""title"" length=""10""
我需要能够提取“ID”标题以及值“标题”。
结果:ID =“”标题“”
我试图采用分体式功能用正则表达式来提取字符串的标识符。
答
试试这个:
String result = "col=\"book\" id=\"title\" length=\"10\"";
String pattern = ".*(id\\s*=\\s*\"[^\"]*\").*";
System.out.println(result.replaceAll(pattern,"$1"));
干杯!
答
使用模式和匹配器类来查找您要查找的内容。试着找到这些正则表达式\\bid=[^ ]*
。
String data = "string = 11,\"col=\"\"book\"\" id=\"\"title\"\" length=\"\"10\"\"";
Matcher m = Pattern.compile("\\bid=[^ ]*").matcher(data);
if (m.find())
System.out.println(m.group());
要求澄清,如果你想要它。 – 2013-04-07 12:11:37
不必要的逃逸。这足够''。*(id \\ s * = \“[^ \”] * \“)。*”' – nhahtdh 2013-04-07 12:16:59
这是经得起“意想不到的”空白处理的。 – 2013-04-07 12:17:37