【发布时间】:2025-11-22 05:05:03
【问题描述】:
我正在尝试创建一个匹配不以文件扩展名结尾的相对 url 的正则表达式。为简单起见省略带有目录的 url,我期望以下内容:
| Url to match | Expected result |
|---|---|
| /foo | match |
| /foo. | match |
| /foo.bar | no match |
我目前正在尝试正则表达式'(/[a-zA-Z]+)*/([a-zA-Z]+)(?!\.[a-zA-z]+).*?'。这匹配“/foo”和“/foo”。正如预期的那样。但是,它也匹配“/foo.bar”。 regex.match('/foo.bar') 返回<re.Match object; span=(0, 3), match='/fo'>。如果字符串以文件扩展名结尾,则负前瞻似乎不是不匹配,而是从应该是前一组的字符中获取一个字符。
我如何完成我想要完成的事情?
【问题讨论】: