String strs="<SPAN id=dfe540c8-1161-45cd-83ae-120eee728849 contentEditable=false Type=2>[010001][2] </SPAN>"
+"<SPAN id=dfe540c8-1161-45cd-83ae-120eee728849 contentEditable=false Type=2>[100001][1] </SPAN>"
+"<SPAN id=cds540c3-2321-45cd-83ae-120eee728849 style="clor:red">出口温度[320001] </SPAN>"
+"<SPAN id=df6540c8-5465-45cd-83ae-120eee728849 style="clor:red">出口压力[540002] </SPAN>"
+"<SPAN id=df3340c8-5465-45cd-83ae-120eee712849><b>√ </b></SPAN>;怎样用正则表达示得到<span>标签 类似[100001][1],出口温度[320001]里面所有的内容?用集合存起来。
+"<SPAN id=dfe540c8-1161-45cd-83ae-120eee728849 contentEditable=false Type=2>[100001][1] </SPAN>"
+"<SPAN id=cds540c3-2321-45cd-83ae-120eee728849 style="clor:red">出口温度[320001] </SPAN>"
+"<SPAN id=df6540c8-5465-45cd-83ae-120eee728849 style="clor:red">出口压力[540002] </SPAN>"
+"<SPAN id=df3340c8-5465-45cd-83ae-120eee712849><b>√ </b></SPAN>;怎样用正则表达示得到<span>标签 类似[100001][1],出口温度[320001]里面所有的内容?用集合存起来。
String reg = "(?:<SPAN|<span)\\s*.*?>\\s*(.*?)?\\s*(?:</SPAN>|</span>)";
Pattern p = Pattern.compile(reg);
Matcher m = p.matcher(strs);
List<String> list = new ArrayList<String>();
while (m.find()) {
list.add(m.group(1));
System.out.println(m.group(1));
}
public static void main(String[] args) {
String strs="<SPAN id=dfe540c8-1161-45cd-83ae-120eee728849 contentEditable=false Type=2>[010001][2] </SPAN>"
+"<SPAN id=dfe540c8-1161-45cd-83ae-120eee728849 contentEditable=false Type=2>[100001][1] </SPAN>"
+"<SPAN id=cds540c3-2321-45cd-83ae-120eee728849 style=\"clor:red\">出口温度[320001] </SPAN>"
+"<SPAN id=df6540c8-5465-45cd-83ae-120eee728849 style=\"clor:red\">出口压力[540002] </SPAN>"
+"<SPAN id=df3340c8-5465-45cd-83ae-120eee712849><b>√ </b></SPAN>";
List<String> list = new ArrayList<String>();
Matcher m = Pattern.compile("(?is)<span.*?>(.*?)</span>").matcher(strs);
while(m.find()){
//System.out.println(m.group(1));
list.add(m.group(1));
}
System.out.println(list);
}
Matcher m = p.matcher(strs);
while(m.find())
{
System.out.println(m.group(1));
}
LS的怎么都不考虑一下标签分开空格,比如一个标签
<SPANA xxx>yyyy</SPAN>,一个非法的标签也被扫面通过了String reg = "(?is:<span)\\s*.*?>\\s*(.*?)?\\s*(?is:</span>)";
Pattern p = Pattern.compile(reg);
Matcher m = p.matcher(strs);
List<String> list = new ArrayList<String>();
while (m.find()) {
list.add(m.group(1));
System.out.println(m.group(1));
}
String strs="<SPAN id=dfe540c8-1161-45cd-83ae-120eee728849 contentEditable=false Type=2>[010001][2] </SPAN>"
+"<SPAN id=dfe540c8-1161-45cd-83ae-120eee728849 contentEditable=false Type=2>[100001][1] </SPAN>"
+"<SPAN id=cds540c3-2321-45cd-83ae-120eee728849 style=\"clor:red\">出口温度[320001] </SPAN>"
+"<SPAN id=df6540c8-5465-45cd-83ae-120eee728849 style=\"clor:red\">出口压力[540002] </SPAN>"
+"<SPAN id=df3340c8-5465-45cd-83ae-120eee712849><b>√ </b></SPAN>"
+"<SPANXX id=xxx>yyy</SPAN>"; //for example
Pattern p = Pattern.compile(reg);
Matcher m = p.matcher(strs);
List<String> list = new ArrayList<String>();
while (m.find()) {
list.add(m.group(1));
System.out.println(m.group(1));
}
我要的集合是存放类似[100001][1],XXXXXX[320001]的内容,而不要最后一个 <b>√ </b>
(XXXXXX---代表任意文字)
String reg = "(?is:<span)\\s+.*?>\\s*((?!<.*?>\\s*)(.*?)(?!</.*?>))\\s*(?is:</span>)";
String strs="<SPAN id=dfe540c8-1161-45cd-83ae-120eee728849 contentEditable=false Type=2>[010001][2] </SPAN>"
+"<SPAN id=dfe540c8-1161-45cd-83ae-120eee728849 contentEditable=false Type=2>[100001][1] </SPAN>"
+"<SPAN id=cds540c3-2321-45cd-83ae-120eee728849 style=\"clor:red\">出口温度[320001] </SPAN>"
+"<SPAN id=df6540c8-5465-45cd-83ae-120eee728849 style=\"clor:red\">出口压力[540002] </SPAN>"
+"<SPAN id=df3340c8-5465-45cd-83ae-120eee712849><b><a>√ </a></b></SPAN>"
+"<SPANXX id=xxx>yyy</SPAN>"; //for example
Pattern p = Pattern.compile(reg);
Matcher m = p.matcher(strs);
List<String> list = new ArrayList<String>();
while (m.find()) {
list.add(m.group(2));
System.out.println(m.group(2));
}
String reg = "(?is:<span)\\s+.*?>\\s*((?:<.*?>\\s*)*(.*?)(?:</.*?>)*)\\s*(?is:</span>)";
String strs="<SPAN id=dfe540c8-1161-45cd-83ae-120eee728849 contentEditable=false Type=2>[010001][2] </SPAN>"
+"<SPAN id=dfe540c8-1161-45cd-83ae-120eee728849 contentEditable=false Type=2>[100001][1] </SPAN>"
+"<SPAN id=cds540c3-2321-45cd-83ae-120eee728849 style=\"clor:red\">出口温度[320001] </SPAN>"
+"<SPAN id=df6540c8-5465-45cd-83ae-120eee728849 style=\"clor:red\"><a>出口?力[540002] </a></SPAN>"
+"<SPAN id=df3340c8-5465-45cd-83ae-120eee712849><b><a>√ </a></b></SPAN>"
+"<SPANXX id=xxx>yyy</SPAN>"; //for example
Pattern p = Pattern.compile(reg);
Matcher m = p.matcher(strs);
List<String> list = new ArrayList<String>();
while (m.find()) {
list.add(m.group(2));
System.out.println(m.group(2));
}
ArrayList<String> al = new ArrayList<String>();
Pattern p = Pattern.compile("(<SPAN.*?>)([^\\d]*?(?:\\d+?)[^\\d[^<]]*?)(?=[<])");
String str = "<SPAN id=dfe540c8-1161-45cd-83ae-120eee728849 contentEditable=false Type=2>[010001][2] </SPAN>"
+"<SPAN id=dfe540c8-1161-45cd-83ae-120eee728849 contentEditable=false Type=2>[100001][1] </SPAN>"
+"<SPAN id=cds540c3-2321-45cd-83ae-120eee728849 style=\"clor:red\">出口温度[320001] </SPAN>"
+"<SPAN id=df6540c8-5465-45cd-83ae-120eee728849 style=\"clor:red\">出口压力[540002] </SPAN>"
+"<SPAN id=df3340c8-5465-45cd-83ae-120eee712849><b>√ </b></SPAN>";
Matcher m = p.matcher(str);
while(m.find()) {
al.add(m.group(2));
System.out.println(m.group(2));
}