使用一个正则表达式进行搜索和修改

时间:2018-03-07 15:20:46

标签: regex

说,我们有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

这项任务的正则表达式是什么样的?

1 个答案:

答案 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

如果这是你想要的,请告诉我,你可以遍历所有的比赛并打印出来或者你需要做什么。