说,我们有HTML页面,包含链接:
a href="katalog/koshelki-i-klatchi/muzhskaya-sumka-planshet-polo-optom1"
a href="katalog/koshelki/kozhanaya-sumka-jeep-optom1"
我只需要一次使用正则表达式进行搜索(在一个搜索查询中),我希望输出为:
koshelki-i-klatchi/muzhskaya-sumka-planshet-polo-optom1
koshelki/kozhanaya-sumka-jeep-optom1
这项任务的正则表达式是什么样的?
答案 0 :(得分:1)
你想要这样的东西:
http:\/\/[A-Za-z0-9\.]*(\/[A-Za-z0-9]*)?\/[A-Za-z0-9]+[0-9]{1}
在此测试:https://regex101.com/r/cnxvR0/1
它将匹配以http://
开头,后跟任何字母字符,任何数字或.
(点),可选地后跟另一个正斜杠(/
)并以1结尾的任何内容更多字母或数字,它必须以一位数字结尾。
我确信这对你的所有情况都无济于事,但你必须更具体,最后有多少位数,它总是只有一位? URL是否必须以数字结尾或可选?有多少嵌套目录(我只用一个我的正则表达式)?
如果上面的正则表达式能够满足您的需要,或者在评论部分回答上述问题,请告诉我,我会相应地编辑我的答案。
在您编辑原始问题后确定:
(?<=href=")(?:[\w-]+\/?)*
在此处试试:https://regex101.com/r/q0tf5l/2
如果这是你想要的,请告诉我,你可以遍历所有的比赛并打印出来或者你需要做什么。