1
wangritian 2020-07-16 17:52:38 +08:00 1
你的截图包含答案,把第二个勾挑上
|
2
wnpllrzodiac 2020-07-16 17:53:49 +08:00 via Android
空格数量,全角半角字符?
|
3
alan0liang 2020-07-16 17:56:47 +08:00 via Android
没记错的话「.」是不包含换行符的,应该至少需要用「<div ...>([.\n]*)</div>」
|
4
alan0liang 2020-07-16 17:58:46 +08:00 via Android
抱歉打错了,应该是「<div ...>((?:.|\n)*)</div>」
|
5
leihongjiang OP @wangritian 匹配到了 没上色。。。。难怪。
|
6
leihongjiang OP @alan0liang </div> 不是唯一 该怎么提取呢 。提取的内容在第一个</div>中间
|
7
assilzm 2020-07-16 18:17:30 +08:00
首先 .不能匹配垂直空白符(\r\n )
其次 如果 div 存在嵌套的情况 不建议使用正则 这涉及到标签之间需要平衡 (.NET 可以使用平衡组获取,不过根据你的例子来说可能也比较麻烦) 建议用 xpath 或者 sizzle 之类的 dom 分析工具来解析 |
8
feilong 2020-07-16 18:47:12 +08:00 via Android
用[\s\S]+匹配, .*匹配不了换行
|
9
lovecy 2020-07-16 18:56:07 +08:00
@leihongjiang *号后面加个?就行了,代表最小程度匹配,匹配到第一个<div>就会停止,
|
10
sowish 2020-07-16 19:24:50 +08:00
.*换成[\s\S*]
|
12
leihongjiang OP @lovecy 换篇文章 正文中间出现了 div 。郁闷了
|
13
mengzhuo 2020-07-17 09:31:03 +08:00 1
大哥,格式化文档就要用 html parser 啊!!!
正则匹配改一个 attr 你就 GG 了 |
14
myCupOfTea 2020-07-23 09:49:39 +08:00
.*修改成 [\s\S\r]*
|