繁体   English   中英

如何在Java中使用正则表达式提取子字符串

[英]How to extract a substring using regex in java

我有以下字符串:

String xmlnode = "<firstname id="{$person.id}"> {$person.firstname} </firstname>";

如何编写正则表达式来提取{$STRING_I_WANT}的数据

我需要的部分是没有{$}怎么实现?

您可以将此正则表达式\\{\\$(.*?)\\}与以下模式一起使用:

String xmlnode = "<firstname id=\"{$person.id}\"> {$person.firstname} </firstname>";

Pattern pattern = Pattern.compile("\\{\\$(.*?)\\}");
Matcher matcher = pattern.matcher(xmlnode);

while (matcher.find()) {
    System.out.println(matcher.group(1));
}

注意:您必须用\\转义每个字符{ $ } ,因为每个字符都是正则表达式中的特殊字符。

产出

person.id
person.firstname

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM