我有一个文本,我想用正则表达式java提取文本的括号 例如文字:
<p>Now a days, regenerative medicine(1) in stem cell(3) filed
widely <label>attractive(10) by</label> attractive by scientists(4).</p>
如果标签标签之间不存在括号,我想提取文本的括号 例如文本上方的摘录:
(1)
(3)
(4)
它不应该在标签标签之间提取括号 我使用正则表达式:
(<label>){0,1}[(\\w\\W)&&[^[</label>|\\(|\\)]]]*(\\(\\s*[(\\w\\W)&&[^\\(\\)]]+\\))
[(\\w\\W)&&[^[</label>|\\(|\\)]]]*(</label>){0,1}
答案 0 :(得分:1)
public static void main(String[] args) {
String in = "<p>Now a days, regenerative medicine(1) in stem cell(3) filed widely <label>attractive(10) by</label> attractive by scientists(4).</p>".replaceAll("<label>.*</label>", "");;
//String inin = in.replaceAll("<label>.*</label>", "");
//System.out.println(inin);
Pattern p = Pattern.compile("\\((.*?)\\)");
Matcher m = p.matcher(in);
while(m.find()) {
System.out.println("(" + m.group(1) + ")");
}
}
输出:
(1)
(3)
(4)
我只是忽略label标签内的文本,然后取出括号内的文字。