本帖最后由 cat73 于 2014-9-2 12:40 编辑
比如我有一段测试文本
- <h2><a href="http://bbs.itheima.com">bbs.it<em>hei</em>ma.<em>com</em></a></h2><h2><a >www.it<em>hei</em>ma.<em>com</em></a></h2>
复制代码
以及一段正则
- <h2><a href="([^"]*)">(.*)</a></h2>
复制代码
这段正则会直接把这整句话视为一个结果,原因就是我的表达式中对a标签里的内容无法完美的匹配,只能使用.*的方式来进行匹配.
而如果用[^<]*就无法匹配a标签内容中还有标签的情况,总之就是没法完美的匹配这类情况
于是我就想 如果能有类似这种语法:
也就是匹配不是"</a>"的部分(将"</a>"视为一个整体),到</a>的时候才停下这部分的匹配,那就可以解决这种问题.
但是正则实际上没有这种语法,正则一次只能匹配一个字节,不能匹配多个,不知谁有什么解决方案?
分开多句话写的方式就不要说了,这种方式对我没什么帮助.
也不要说上面演示的例子没什么意义之类的,这只是为了表达这类问题作出的一个简单的例子,我实际遇到的问题比这个复杂的多,只是这部分实在是想不到解决的方案,而且这类问题我也不是第一次碰到了,因此才来这里求帮助的.
在此先谢过帮忙的各位啦~~
@各位大神 @各位黑马老师们 求帮助喵~~
==============采纳后追加==============
首先感谢一楼的回复,感觉对正则的了解加深了不少.
不过感觉这种方式虽然可以解决问题,不过还是没匹配到一个整体不包含..........
其次....................... 管理们.......................
采纳最佳答案必须弄个深红色的感叹号么...........
搞的我第一眼以为哪里出错了....................
|