
正文
html修改标签正则表达式,html如何修改
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
java匹配html的a标签的正则表达式哪里错了?求修改
假如html标签里面有一句:String a = style type=\text/css\ div \n + { margin: 0; padding: 0; outline: 0; }/style;我如何把这一句取出来呢,包括标签。
正则表达式是用括号进行分组的。按左括号的从左到右依次计入组别。而(?:)这个就不计入分组中了。举例:上面的例子中加了?:后面的\1就取不到第一个分组了所以就会出错。
有两种方法:第一种:匹配出来后用java去处理一下结果,过滤掉不想要的记录。
把正则表达式改成:a[^]*(.*?)/a 就行了。
/^a\s+href=(.*|.*)(\s|)$/这个是匹配标签a的。匹配href之后跟单引号或者双引号,然后是空白符或者右尖括号。你先取的这些字符串。然后替换字符串,把href前后的替掉,只留地址。
\也是正则表达式中的转义符。那么只加一个\的话,只能说明在字符串中转义符,而java需要进一步把普通字符串中的\变成正则表达式中的\,像是更深一则转化的意思,这样\\以后的意思是正则表达式中的转义符(\)。
相关问答
Q1: 求正则表达式,匹配html标记
1、第一段是获取 p/p 标签内部的数据,第二个是获取 pspan/span/p 标签中的数据,其中span标签中有style属性值。
2、可以匹配举例:abbr address base p p style=... 不能匹配举例:a a href... 即,如果标记是以a开头但不仅仅是a的的标记就可以匹配,比如abbraddress,但a就不能匹配。
3、当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时,匹配模式是非贪婪的。应该是要求标签中必须有内容吧。
4、也请提问者这跟PHP有什么关系?题中的匹配应该是网页前台javascript完成的工作吧。var re=/div\s\S*\sid=M_(\w+)/g var arr=string.match(re)//arr里就存储了你要的数组了。
5、/?[^]+/? 简单的这样就可以了,需要更复杂的再追问。
Q2: 如何用正则表达式去掉html标签
用正则表达式去掉html标签,下面是它的代码,直接复制就可以用的。
大家可以发现上面这一个正则表达式里面是有bug的,什么bug呢?那就是假如我们将li标签保留了,但是在实际的运行过程中,大家会发现link标签也同样给保留下来了,保留a标签同样也会把addr标签给保留下来了。
如果只要 b 标签,不用“过滤”的方法,用“提取”的方法更简单。
但对于现在复杂的网页而言,用这种方法提取出来的文本会有大量的空格、空行、script段落、还有一些html转义字符,效果很差。
html修改标签正则表达式的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于html如何修改、html修改标签正则表达式的信息别忘了在本站进行查找喔。







