【发布时间】:2019-03-15 01:48:58
【问题描述】:
我有以下网址。
example.com/ie/ie/womens-c-1.html
example.com/ie/womens-c-1.html
如果/ie/ 被指定一次,我只希望正则表达式捕获字符串。
我有一个模式可以捕获到第一个 /ie/
([a-z.-]*)\/([a-z]{2})\/
我无法计算出最后一部分,以确保仅在模式匹配时才捕获字符串
/ie/(*.)-c-([0-9]*).html
我需要使用前瞻或类似的东西吗?
更新:第一个 /ie/ 之后的任何内容都不会包含 / 我可以使用它来帮助构建规则吗?
我希望最终的捕获组如下所示。 (括号内是分组)(example.com)/(ie)/(womens)-c-(1).html
【问题讨论】:
-
您要匹配
ie出现多次的网址吗? -
不,我希望它们被忽略。这是一个 htaccess 文件。所以我不希望匹配解决多个 /ie/
-
你的帖子有点不清楚。你能添加一些应该匹配的字符串和一些不应该匹配的字符串,说明匹配的逻辑吗?
-
对于重写规则,使用
^(?!.*(/ie/).*\1).*/ie/。没有更多的正则表达式。 -
@PushpeshKumarRajwanshi 完美运行!
标签: regex