![]() |
1
2
首先,这是:
不会做你认为它会做的事。你想要:
这:
为了你的第二个
我也建议你做第一件事
|
![]() |
2
1
是错误的,因为[]表示 character class 在大多数正则表达式语法中。字符类基本上是可以匹配的字符组。例如,[abc]将匹配“a”、“b”或“c”。 至于你的其他问题,有两种可能性,比如MacGuy提到的;(*)可能匹配得太多。为了确定,我需要看看你的正则表达式到底匹配什么。 最后,您真的不应该使用正则表达式来解析HTML。它达到了一品脱,除了在最受控制的条件下和复杂的表达式之外,它根本不起作用。最好研究各种html/xml解析器。 This 这是一个很好的解释为什么这是一个坏主意。 |
![]() |
3
1
你的正则表达式有几个问题。
首先是这一点:
你需要用亲权来做这件事,比如
编辑:如果您不想捕获任何内容,可以使用非捕获组,这在boost::regex中是通过包含
这看起来不多,但匹配太多,包括像连续跨距这样的模式。这将消耗一个跨距的结束和下一个跨距的开始,一直到页面上的最后一个跨距。你需要让它不贪婪。在boost::regex中,您可以通过以下方法来实现
问题是,除了简单的正则表达式之外,XML和HTML很难让任何东西正常工作。您真的应该使用一个用于处理该格式的库。有很多 options . 通过这种方式,您可以确保正确处理HTML,无论输入可能有多扭曲。 |
![]() |
lonix · 使用sed从JSON中提取非贪婪正则表达式 1 年前 |
![]() |
Dima Malko · 如何在指定符号前添加符号? 2 年前 |
![]() |
shekharsabale · 从列表元素捕获子字符串 2 年前 |
![]() |
Katia · 根据特定规则进行多行匹配 2 年前 |
![]() |
MHA · Pandas str.extract()以字母结尾的数字 2 年前 |
![]() |
Slava Vir · 如何查找后面“/”之间的最后一组 2 年前 |