我想从某些标签中包含的字符串中提取所有子字符串。例如,如果我有一个输入字符串,在" *"中包含一些子字符串。标记:
I contain two terms to extract: *first term* and *second term*
我想得到的是两个子字符串"第一个术语"和"第二学期"。 我尝试使用以下代码:
List<String> matches = new ArrayList<>();
Matcher m = Pattern.compile(".*\\*(.*)\\*.*").matcher(inputString);
while(m.find()){
matches.add(m.group(1));
}
但这给了我不正确的结果。我阅读了有关group
方法的API文档,但说实话,我并不完全理解它的含义和工作方式。如果有人能告诉我在这里收集所有想要的子字符串的最佳方法,我会感激不尽。
谢谢!
答案 0 :(得分:1)
尝试以下表达式:
\\*([^\\*]+)\\*
所需的子字符串将位于第一组中。