正则表达式解析HTML中元素:
regExp:
<(?i)div[^>]*(?i)id=["']?You_Name["']?[\s\S]*>[^<>]*(((?'Open'<(?i)div[^>]*>)[^<>]*)+((?'-Open'</(?i)div>)[^<>]*)+)*(?(Open)(?!))</(?i)div>
example:
1. <div id="test"><Div backgroup="abc" iD="You_Name"><div>tewt</div></div></div>
2. <div id="test"><Div backgroup="abc" id=You_Name><div>tewt</div></div></div>
3. <div id="test"><Div iD="You_Name" backgroup="abc"><div>tewt</div></div></div>
4. <div id="test"><Div iD=You_Name backgroup="abc"><div>tewt</div></div></div>
result:
1. <Div backgroup="abc" iD="You_Name"><div>tewt</div></div>
2. <Div backgroup="abc" id=You_Name><div>tewt</div></div></div>
3. <Div iD="You_Name" backgroup="abc"><div>tewt</div></div></div>
4. <Div iD=You_Name backgroup="abc"><div>tewt</div></div></div>
说明,标签大小写不敏感,标签的属性名"id"大小写不敏感。
这里是解析嵌套的<div>,如果是解析其他标签,只要把regExp中的div改成相应的标签名即可。
regExp:
<(?i)div[^>]*(?i)id=["']?You_Name["']?[\s\S]*>[^<>]*(((?'Open'<(?i)div[^>]*>)[^<>]*)+((?'-Open'</(?i)div>)[^<>]*)+)*(?(Open)(?!))</(?i)div>
example:
1. <div id="test"><Div backgroup="abc" iD="You_Name"><div>tewt</div></div></div>
2. <div id="test"><Div backgroup="abc" id=You_Name><div>tewt</div></div></div>
3. <div id="test"><Div iD="You_Name" backgroup="abc"><div>tewt</div></div></div>
4. <div id="test"><Div iD=You_Name backgroup="abc"><div>tewt</div></div></div>
result:
1. <Div backgroup="abc" iD="You_Name"><div>tewt</div></div>
2. <Div backgroup="abc" id=You_Name><div>tewt</div></div></div>
3. <Div iD="You_Name" backgroup="abc"><div>tewt</div></div></div>
4. <Div iD=You_Name backgroup="abc"><div>tewt</div></div></div>
说明,标签大小写不敏感,标签的属性名"id"大小写不敏感。
这里是解析嵌套的<div>,如果是解析其他标签,只要把regExp中的div改成相应的标签名即可。