Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 如何匹配URL域的最后两部分以外的所有内容_Regex_Parsing - Fatal编程技术网

Regex 如何匹配URL域的最后两部分以外的所有内容

Regex 如何匹配URL域的最后两部分以外的所有内容,regex,parsing,Regex,Parsing,我有一些URL,red.testurl.com和new.red.testurl.com,我想匹配并删除除了testurl.com之外的所有内容 我试过使用^.*(?=\.+[com]+$),它删除了除com之外的所有内容,但我也希望在com之前包含单词 类似地,我尝试了^(\w*)*(?!\w*\.com),但是如果testurl前面有多个单词,它就不起作用了。最后将这两个单词结合起来解决了 ^.*(?=\w*\.\w+$) 即使它以类似于.io的结尾,它也能工作!与.co.uk类似,我将单独处

我有一些URL,
red.testurl.com
new.red.testurl.com
,我想匹配并删除除了
testurl.com
之外的所有内容

我试过使用
^.*(?=\.+[com]+$)
,它删除了除com之外的所有内容,但我也希望在com之前包含单词


类似地,我尝试了
^(\w*)*(?!\w*\.com)
,但是如果
testurl前面有多个单词,它就不起作用了。

最后将这两个单词结合起来解决了

^.*(?=\w*\.\w+$)


即使它以类似于
.io
的结尾,它也能工作!与
.co.uk
类似,我将单独处理,不过

您可以对
.co.uk
部分
^.*(?=\w+\(?:co\.uk |\w+$)
使用替代项,或者使用捕获组