reg应该以$开头,从那时开始匹配每个用逗号分隔的完整单词

时间:2015-11-19 11:52:50

标签: javascript regex pattern-matching

我正在尝试为此创建一个正则表达式:

  

.domain.com $对象子请求,第三方,域= domain.com | domain2.com | domain3.com | domain4.com

最好的结果是将它匹配到这样的结果中:

- object-subrequest
- third-party
- domain
-- domain.com
-- domain2.com
-- domain3.com
-- domain4.com

但我不知道这是否可能。像这样的结果也可以:

- object-subrequest
- third-party
- domain

然后另一个正则表达式来过滤掉所有这样的域名:

-- domain.com
-- domain2.com
-- domain3.com
-- domain4.com

到目前为止,我只能提出这个问题: https://regex101.com/r/wP8cY7/1

/(script|image|stylesheet|object|xmlhttprequest|subdocument|document|elemhide|other|third-party|domain|sitekey|match-case|collapse|donottrack),*/g

正如您所看到的,这匹配包含其中一个单词的所有内容,我只需要$之后的所有内容。 我只使用Javascript(没有jQuery)。

2 个答案:

答案 0 :(得分:1)

如果你能以某种其他方式摆脱$之前的所有事情,这个正则表达式接近我想的那样:

/[$,](script|image|stylesheet|object|xmlhttprequest|subdocument|document|elemhide|other|third-party|domain|sitekey|match-case|collapse|donottrack)/gi

答案 1 :(得分:0)

将输入x拆分为美元符号和逗号;获取第一个组件的所有组件,第一个组件的第一个组件除外。然后通过相等或符号分开:

s <- strsplit(x, "[$,]")[[1]][-1]
strsplit(s, "[=|]")

,并提供:

[[1]]
[1] "object-subrequest"

[[2]]
[1] "third-party"

[[3]]
[1] "domain"      "domain.com"  "domain2.com" "domain3.com" "domain4.com"

注意:我们将其用作输入x

x <- ".domain.com$object-subrequest,third-party,domain=domain.com|domain2.com|domain3.com|domain4.com"