1
retanoj 2023-08-07 09:10:13 +08:00
html 不建议用正则扣
|
2
73P2OdTjK6t29nk1 2023-08-07 09:14:00 +08:00
这种事交给 chatgpt 不是第一选择吗
|
3
zpj520wzm 2023-08-07 09:16:15 +08:00
td>(.+?)<
|
4
8355 2023-08-07 09:16:19 +08:00
正则是效率最低的方式,标准 html 解析是最好的方案
|
5
Great233 2023-08-07 09:16:21 +08:00
td>.*?<
这样? |
7
chnwillliu 2023-08-07 09:16:49 +08:00 via Android
<td>(.+?)(?=<)
用断言,否则后面的尖括号会被吃了 |
8
dayeye2006199 2023-08-07 09:16:52 +08:00 via Android
建议做个树结构,然后框个迭代的条件过一遍就行
|
9
cloudfox 2023-08-07 09:16:54 +08:00
(?<=<td>)(.*?)(?=<td>)
|
10
shiyuu 2023-08-07 09:22:53 +08:00
chatgpt 帮你完成
|
11
newaccount 2023-08-07 09:23:19 +08:00
<td>([^<]*)<
|
12
p1956 OP @chnwillliu 这个可以,谢谢
|
13
newaccount 2023-08-07 09:25:07 +08:00
@newaccount 忽略我,原始数据不是标准 td 嵌套
|
14
SuujonH 2023-08-07 09:25:18 +08:00
善用 chatgpt ,不行就多问问
<td>([^<]*) |
15
Seanfuck 2023-08-07 09:31:54 +08:00
3 楼 5 楼的都可以,奇怪了不能用<td>开头的
|
16
davin 2023-08-07 09:45:49 +08:00
你这也不是标准的 HTML 吧,不遵循嵌套规则,结束标签呢?
|
17
zpj520wzm 2023-08-07 10:19:45 +08:00
@Seanfuck 楼主一开始的正则,后面会吞掉一个<,就匹配不了<td>开头了,间隔,所以只能匹配一半,就是 15 个。做法要么这样写,要么就是 chnwillliu 说的后向断言引用
|
18
herozzm 2023-08-07 10:20:54 +08:00
测试正则请用: https://regex101.com/
|
19
loveDiu4ever 2023-08-07 10:57:32 +08:00
td 里面套 td 真有人愿意给他写正则啊
|
20
kaedeair 2023-08-07 17:21:35 +08:00
td>(.+?)<
为啥会漏最后一个是因为最后一个"<"把最后<td>的"<"吃了 |
21
mikewang 2023-08-07 22:32:49 +08:00
不要使用正则表达式匹配 HTML: https://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags
HTML 不是正则文法语言,因此该语言不能被正则表达式“正确地”解析。 |