首页 > 解决方案 > 正则表达式:字符后不匹配

问题描述

我有这个正则表达式:

(?i)\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))

这改变了

word word1 https://sub.example.org/file/track?arg=par word

https://sub.example.org/file/track?arg=par

期望的结果:

https://sub.example.org/file/track

标签: regex

解决方案


只有一个例子可以解决:

^.* (https?:\/\/.*?)\?.*$

推荐阅读