我有以下测试字符串:
我正在寻找只匹配path=a/b/c.png
的正则表达式(没有尾部斜杠的路径查询参数)。路径查询参数可以位于行的开头,中间或末尾。
到目前为止,我有以下正则表达式path=[^#&]*
:
您可以在此处查看:https://regex101.com/r/v4DqDx/1/
感谢您的帮助!
编辑:为了更清楚,第1行和第4行中带有尾部斜杠的查询参数不应该匹配。
答案 0 :(得分:2)
Stack
标志
m
如果内容不是多行,请改用:
\bpath=[^#&\n]*\.\w+(?=[&#]|$)
\bpath=[^#&]*\.\w+(?=[&#]|$)
断言位置为单词边界。字边界是与\b
(^\w|\w$|\W\w|\w\W)
按字面意思匹配path=
匹配除[^#&\n]*
以外的任何字符#&\n
匹配文字点\.
匹配一个或多个单词字符\w+
肯定前瞻,确保集(?=[&#]|$)
中的字符匹配或者是行的结尾。