Javascript 正则表达式检测带有';的URL';结尾字符
我找到了许多解决办法,但没有一个对我有用 例如,我想查找以Javascript 正则表达式检测带有';的URL';结尾字符,javascript,regex,Javascript,Regex,我找到了许多解决办法,但没有一个对我有用 例如,我想查找以www.开头,以空格或?结尾的URL。在本例中,我真正的意思是它以?结尾,而不一定是CGI相关的URL 我想用正则表达式 var r = /(^|[\s\?])(www\..+?(?=([\s]|\?|($))))/g; 我的示例使用: 如何在正则表达式中使用\?,以防止在?之前包含/的URL结尾 我无法解决url末尾有点的最后一个问题。 有人能帮忙吗?在你的小提琴上试试这个: var r = /(^|\??)(www\.[^\?]+
www.
开头,以空格或?
结尾的URL。在本例中,我真正的意思是它以?
结尾,而不一定是CGI相关的URL
我想用正则表达式
var r = /(^|[\s\?])(www\..+?(?=([\s]|\?|($))))/g;
我的示例使用:
如何在正则表达式中使用\?
,以防止在?
之前包含/
的URL结尾
我无法解决url末尾有点的最后一个问题。
有人能帮忙吗?在你的小提琴上试试这个:
var r = /(^|\??)(www\.[^\?]+)/g;
我在这里更新了你的小提琴:
更新:
我明白你现在想做什么了。不幸的是,除了/
,这两个字符串本质上是相同的,因此除非您希望正则表达式假设斜杠后面的?
表示CGI调用,否则您就无能为力了。但你可以试试这个:
var r = /(^|\??)(www\.[^\?]+\/[^\/]+\?[^\?]+|www\.[^\?]+)/g;
更新小提琴:
更新2:确定需求后,这是添加到fiddle 10的最终RegExp I:
var r = /(^|[\?\s])(www\.[^\? ]+\/[^\/ ]*\?[^\? ]+|www\.[^\? ]+)/g;
我不知道问题是什么。您是否希望检测某个域名中有
?
,只要它不是/?
?此处有一个示例,说明哪些内容应该返回true,哪些内容不应该返回true。是的,字符串“www.domain.com?www.domain.net”包含两个URL,是吗?下一个字符串“www.domain.com/cgi/script.pl?www.domain.net”包含一个带有cgi参数的url SSO,第一个字符串替换为www.domain.com?www.domain.netsecond”www.domain.com/cgi/script.pl?www.domain.net“我取消注释字符串在哪里?”?由于cgiThey使用TLD列表来检测域结束,接下来他们搜索空格或其他非逻辑字符,以找到URL的真正结束。您希望看到什么?“和www.domain.net文本再次”分开。但是它的url和CGI一样长,并且在末尾标记了(A)的www.domain.net