我是REGEX的新手。根据标题,我想在字符串abc-def-ghi
中捕获utm_campaign=abc-def-ghi
。该字符串通常嵌入在URL中。使用以下模式(utm_campaign=[a-zA-Z0-9_-]+)
我可以匹配整个字符串,但我真的只想要字符串的第二部分,即abc-def-ghi
。有没有一种有效的方法在正则表达式中执行此操作?这个问题的优选语言是R.
答案 0 :(得分:3)
另一种选择:gsub
> string <- "utm_campaign=abc-def-ghi"
> gsub(".*=(\\w*)", "\\1", string)
[1] "abc-def-ghi"
答案 1 :(得分:2)
(?<=utm_campaign=)[\w-]+
(?<=utm_campaign=)
肯定的背后隐藏确保匹配utm_campaign=
字面上的内容[\w-]+
匹配任何单词字符(a-zA-Z0-9_
)或连字符一次或多次x <- "utm_campaign=abc-def-ghi"
m <- regexpr("(?<=utm_campaign=)[\\w-]+", x, perl=TRUE)
regmatches(x, m)
结果:abc-def-ghi