正则表达式匹配html标签内的内容

例如标签如下


这里是要匹配的内容,但是可能包括<这个符号

我想匹配的内容是“这里是要匹配的内容,但是可能包括<这个符号”
我原本用的正则式
boost::regex re("<\s*div\s*class\s*=\s*\"tour-title\"\s*>\s*<\s*h3\s*>([^<]*)<\s*/\s*h3\s*>",
boost::regex::normal | boost::regbase::icase);
这个正则式在内容里面包括“<”这个符号时会出问题吧,那应该怎么处理好呢?

5个回答

最好是给出个可用的正则表达式,小白不熟悉正则,求别贴链接,,,怕看不懂

但是可能包括<这个符号
按理说这根本不是合法的html,html不许在标签内出现<,必须转义成<

google 平衡组 正则表达式

可用的正则不存在。正则表达式的复杂度不够,不能用来写HTML解析器。
随便找个HTML解析器就行,为什么要自己重写一个?

html用正则处理非常麻烦,各种情况太多。可以用pugixml等类库来解析html元素。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问