如何在 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