在R中形成和使用正则表达式

时间:2014-10-21 19:44:33

标签: regex r

Som我是R.的新手。我正在学习这种形成正则表达式的概念。

即。像这样"(\\2.\\3)"。这些是什么?我的意思是,这些数字和符号代表什么?任何人都可以用非常外行的语言解释这是什么意思?或类似的东西,(\2.\4)(\2.\4),这是什么意思?谢谢你的帮助!

1 个答案:

答案 0 :(得分:4)

它们被称为backreferences,可以回想起捕获组所匹配的内容。可以通过将要分组的字符放在一组括号( )内来创建capturing group。反向引用在R中指定为反斜杠(\),两个反斜杠(\\);然后是一个数字,表示要召回的群组号

下面是一个替换使用反向引用来调用捕获组#2#3匹配的内容的示例...

x <- 'foo bar baz quz'
sub('(\\S+) (\\S+) (\\S+) (\\S+)', '(\\2.\\3)', x)
# [1] "(bar.baz)"

注意:替换中的左括号和右括号都是文字字符。