求助: 写一句正则表达式
各位老师和同学, 今天妹纸遇到一个难题,百思/百试不得其解, 特此求助各位赐教, 在此感激不尽. 谢谢
内容如下:
<p abc='abc'><<>>001<p> //非标准 内容出现<>了, 不能满足匹配
<h1 abc>oschina,是一个神奇的网站</h1> //非标准 不完整属性,不能满足匹配
<div>Hello !</div> //标准
<p>1+1=2<p> //标准
html 2
<p id="home">002</p> //标准
数字
<br di="br" /> //标准
<br /> //标准
<123>003</123> // 非标准 标签名称只能是字母
<br> //标准
<123 id="num">004</123> //非标准 标签名称只能是字母
要求:
写一句正则表达式, 需要匹配以上内容中
标准的标签
, 把匹配到的标签放入数组里,然后遍历出来.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
也就是说 写一条
兼容 xhmtl 与 html5 匹配标签的正则表达式.
icekicker 你好 在html5 中 <br> <img src="xxx"> 貌似是标准的.
```<h1 abc>oschina,是一个神奇的网站</h1>```虽然不是标准的xhtml, 但确实是标准的html, 而且如果以xhtml的标准去要求, ```<br>```同样是不标准的。 这是这道题目的细节错误。
而要求用正则去处理html这算原则性错误。
还是让出这题的自挂东南枝去吧。
经过测试,你的写法是错的 只能匹配 <br di="br" /> <br />
<s*([a-zA-Z]+)w*s*(([a-zA-Z]+)="w*"s*)*s*(/|[^<>]*</?s*([a-zA-Z]+)[a-zA-Z0-9]*s*)>
用的时候记得根据不同的语言加上转义字符