【发布时间】:2018-06-21 17:37:36
【问题描述】:
Substitute "s|<a(.*)href=\"/(.*)\.html\"(.*)>|<a$1href=\"/$2\"$3>|i"
这是我正在使用的替代规则,但看起来如果在一个段落中我有多个 href,则只有尾随的一个会被去除 html 扩展名。以前的 href 没有影响。
【问题讨论】:
标签: html regex apache httpd.conf substitution
Substitute "s|<a(.*)href=\"/(.*)\.html\"(.*)>|<a$1href=\"/$2\"$3>|i"
这是我正在使用的替代规则,但看起来如果在一个段落中我有多个 href,则只有尾随的一个会被去除 html 扩展名。以前的 href 没有影响。
【问题讨论】:
标签: html regex apache httpd.conf substitution
(.*) 表示这一行中的字符尽可能多,因此在匹配第一个<a 后,它将搜索最远的href 后续。如果添加 ?在 * 之后,它将寻找与(.*?) 匹配的最小字符串,该字符串仍允许其余字符串匹配。
Substitute "s|<a(.*?)href=\"/(.*?)\.html\"(.*?)>|<a$1 href=\"/$2\"$3>|i"
【讨论】: