优质解答
R正则表达式
R有各种功能进行定期根据表达式匹配和替换. grep的,grepl,正则表达式的和gregexpr功能用于搜索的匹配,而sub和gsub函数用于执行替换.
• grep的(值= FALSE)返回x的元素的索引的整数向量产生一个匹配(或不为反转= TRUE) .
> STR < - C(“常规” , “表达” , “的R输入语言的例子” )
> x < - grep的( “前” ,海峡,值= F)
> x
[ 1 ] 2 3
> x < - “行4322 :他现在是25岁,而权重130磅” ;
> x < - grep的(“\ \ d”相同,“”, x)的
> x
[1] 1
• grep的(值= TRUE)返回包含x的选定元素的特征向量(胁迫后,保留的名称,但没有其他的属性) .
> x < - grep的( “前” ,海峡,值= T)
> x
[1] “表达” “的R输入语言的例子”
• grepl返回一个逻辑向量(匹配与否对于x的每一个元素) .
> x < - grepl ( “EX” , STR )
> x
[1]假作真时真
• sub和gsub函数返回相同的长度,并且具有相同属性为x一个字符向量(可能强迫字符后) .这是不取代字符向量x的元素将被退回不变(包括任何声明的编码) .如果useBytes = FALSE,一个非ASCII取代的结果往往会以UTF -8有明显的编码(例如,如果有一个UTF -8输入,并在多字节语言环境,除非固定= TRUE) .
> STR < - C(“常规” , “表达” , “的R输入语言的例子” )
> x < - 子( “ x.ress ”,“” , STR )
> x
[ 1 ]“正规” “ EION ” “的R输入语言的例子”
> x < - 子( “ X + E” ,“”, STR )
> x
[ 1 ]“普通”,“分裂国家”的“e”
> x < - “行4322 :他现在是25岁,而权重130磅” ;
> x < - gsub函数(“[ [:数字:]] ”,“” ,x)的
> x
[ 1 ]“行:他现在是岁,和重量磅”
> x < - “行4322 :他现在是25岁,而权重130磅” ;
> x < - gsub函数(“\ \ D + ”,“” ,x)的
> x
[ 1 ]“行:他现在是岁,和重量磅”
•正则表达式的返回相同长度的文字给人的第一个匹配的起始位置或-1的整数向量,如果没有,用属性“ match.length ” ,一个整数向量给出匹配的文本的长度(或-1对于不匹配) .本场比赛的位置和长度的单位是字符,除非useBytes = TRUE时,当他们以字节为单位.
> STR < - C(“常规” , “表达” , “的R输入语言的例子” )
> x < - 正则表达式的( “X * RESS ” , STR )
> x
[1] -1 4 -1
• gregexpr返回相同长度的列表作为文本它的每个元素是相同的形式为正则表达式的返回值,不同之处在于每(不相交)匹配的起始位置被给出.
> STR < - C(“常规” , “表达” , “的R输入语言的例子” )
> x < - gregexpr ( “X * RESS ” , STR )
> x
[ [1]]
[1] -1
ATTR ( “ match.length ” )
[1] -1
ATTR ( “ useBytes ” )
[ 1 ] TRUE
[ [2]]
[1] 4
ATTR ( “ match.length ” )
[1] 4
ATTR ( “ useBytes ” )
[ 1 ] TRUE
[ [3]]
[1] -1
ATTR ( “ match.length ” )
[1] -1
ATTR ( “ useBytes ” )
[ 1 ] TRUE
函数语法:
grep的(模式,X , ignore.case = FALSE , perl的= FALSE ,值= FALSE ,
固定= FALSE , useBytes = FALSE ,反转= FALSE)
grepl (模式,X , ignore.case = FALSE , perl的= FALSE ,
固定= FALSE , useBytes = FALSE)
子(模式,更换,X , ignore.case = FALSE , perl的= FALSE ,
固定= FALSE , useBytes = FALSE)
gsub函数(模式,更换,X , ignore.case = FALSE , perl的= FALSE ,
固定= FALSE , useBytes = FALSE)
正则表达式的(图案,文字, ignore.case = FALSE , perl的= FALSE ,
固定= FALSE , useBytes = FALSE)
gregexpr (图案,文字, ignore.case = FALSE , perl的= FALSE ,
固定= FALSE , useBytes = FALSE)
正则表达式语法:
语法说明
\ \ D数字, 0,1,2 . 9
\ \ D不是数字
\ \个人空间
\ \不是空间
\ \ w字
\ \ W不是字
\ \ t制表
\ \ n换行
^在字符串的开头
$字符串的结束
\转义特殊字符,例如\ \是“\”, \ +是“+”
|交替匹配.例如/ ( E | D )不适用/匹配“恩”和“DN”
•任何字符,除了\ n或行结束
[AB] a或b
[^ AB]除了任意字符a和b
[0-9]所有的数字
[ A-Z ]所有的大写字母A到Z的字母
[ A-Z ]所有小写字母a到z的字母
[ A-Z ]所有的大写和小写a到z的字母
I + I中的至少一个时间
I * I零次或多次
我?我零次或1次
I { n}的我出现n次的顺序
I { N1,N2 }我发生N1 - 在序列N2次
I { N1,N2 } ?非贪婪匹配,看上面的例子
I { N, }我occures > = n倍
[:指定alnum : ]字母数字字符: [ :阿尔法: ]和[ :数字: ]
[:阿尔法: ]字母字符: [ :较低: ]和[ :上: ]
[:空白: ]空白字符:例如空格,制表符
[: CNTRL : ]控制字符
[:数字: ]数字: 0 1 2 3 4 5 6 7 8 9
[: graph:]类似图形字符: [ :指定alnum : ]和[ : punct : ]
[:较低: ]在目前的语言环境小写字母
[:打印: ]可打印字符: [ :指定alnum : ],[ : punct : ]和空间
[: punct : ]标点字符: ! “ # $ % & ' ( ) * + , - / : ; . ? < = > @ [\] ^ _ ` { | } 〜
[:空间:]空格字符:制表符,换行符,垂直制表符,换页,回车,空格
[:上部: ]大写在当前区域设置信
[: xdigit : ]十六进制数字: 0 1 2 3 4 5 6 7 8 9 ABCDEF ABCDEF
R正则表达式
R有各种功能进行定期根据表达式匹配和替换. grep的,grepl,正则表达式的和gregexpr功能用于搜索的匹配,而sub和gsub函数用于执行替换.
• grep的(值= FALSE)返回x的元素的索引的整数向量产生一个匹配(或不为反转= TRUE) .
> STR < - C(“常规” , “表达” , “的R输入语言的例子” )
> x < - grep的( “前” ,海峡,值= F)
> x
[ 1 ] 2 3
> x < - “行4322 :他现在是25岁,而权重130磅” ;
> x < - grep的(“\ \ d”相同,“”, x)的
> x
[1] 1
• grep的(值= TRUE)返回包含x的选定元素的特征向量(胁迫后,保留的名称,但没有其他的属性) .
> x < - grep的( “前” ,海峡,值= T)
> x
[1] “表达” “的R输入语言的例子”
• grepl返回一个逻辑向量(匹配与否对于x的每一个元素) .
> x < - grepl ( “EX” , STR )
> x
[1]假作真时真
• sub和gsub函数返回相同的长度,并且具有相同属性为x一个字符向量(可能强迫字符后) .这是不取代字符向量x的元素将被退回不变(包括任何声明的编码) .如果useBytes = FALSE,一个非ASCII取代的结果往往会以UTF -8有明显的编码(例如,如果有一个UTF -8输入,并在多字节语言环境,除非固定= TRUE) .
> STR < - C(“常规” , “表达” , “的R输入语言的例子” )
> x < - 子( “ x.ress ”,“” , STR )
> x
[ 1 ]“正规” “ EION ” “的R输入语言的例子”
> x < - 子( “ X + E” ,“”, STR )
> x
[ 1 ]“普通”,“分裂国家”的“e”
> x < - “行4322 :他现在是25岁,而权重130磅” ;
> x < - gsub函数(“[ [:数字:]] ”,“” ,x)的
> x
[ 1 ]“行:他现在是岁,和重量磅”
> x < - “行4322 :他现在是25岁,而权重130磅” ;
> x < - gsub函数(“\ \ D + ”,“” ,x)的
> x
[ 1 ]“行:他现在是岁,和重量磅”
•正则表达式的返回相同长度的文字给人的第一个匹配的起始位置或-1的整数向量,如果没有,用属性“ match.length ” ,一个整数向量给出匹配的文本的长度(或-1对于不匹配) .本场比赛的位置和长度的单位是字符,除非useBytes = TRUE时,当他们以字节为单位.
> STR < - C(“常规” , “表达” , “的R输入语言的例子” )
> x < - 正则表达式的( “X * RESS ” , STR )
> x
[1] -1 4 -1
• gregexpr返回相同长度的列表作为文本它的每个元素是相同的形式为正则表达式的返回值,不同之处在于每(不相交)匹配的起始位置被给出.
> STR < - C(“常规” , “表达” , “的R输入语言的例子” )
> x < - gregexpr ( “X * RESS ” , STR )
> x
[ [1]]
[1] -1
ATTR ( “ match.length ” )
[1] -1
ATTR ( “ useBytes ” )
[ 1 ] TRUE
[ [2]]
[1] 4
ATTR ( “ match.length ” )
[1] 4
ATTR ( “ useBytes ” )
[ 1 ] TRUE
[ [3]]
[1] -1
ATTR ( “ match.length ” )
[1] -1
ATTR ( “ useBytes ” )
[ 1 ] TRUE
函数语法:
grep的(模式,X , ignore.case = FALSE , perl的= FALSE ,值= FALSE ,
固定= FALSE , useBytes = FALSE ,反转= FALSE)
grepl (模式,X , ignore.case = FALSE , perl的= FALSE ,
固定= FALSE , useBytes = FALSE)
子(模式,更换,X , ignore.case = FALSE , perl的= FALSE ,
固定= FALSE , useBytes = FALSE)
gsub函数(模式,更换,X , ignore.case = FALSE , perl的= FALSE ,
固定= FALSE , useBytes = FALSE)
正则表达式的(图案,文字, ignore.case = FALSE , perl的= FALSE ,
固定= FALSE , useBytes = FALSE)
gregexpr (图案,文字, ignore.case = FALSE , perl的= FALSE ,
固定= FALSE , useBytes = FALSE)
正则表达式语法:
语法说明
\ \ D数字, 0,1,2 . 9
\ \ D不是数字
\ \个人空间
\ \不是空间
\ \ w字
\ \ W不是字
\ \ t制表
\ \ n换行
^在字符串的开头
$字符串的结束
\转义特殊字符,例如\ \是“\”, \ +是“+”
|交替匹配.例如/ ( E | D )不适用/匹配“恩”和“DN”
•任何字符,除了\ n或行结束
[AB] a或b
[^ AB]除了任意字符a和b
[0-9]所有的数字
[ A-Z ]所有的大写字母A到Z的字母
[ A-Z ]所有小写字母a到z的字母
[ A-Z ]所有的大写和小写a到z的字母
I + I中的至少一个时间
I * I零次或多次
我?我零次或1次
I { n}的我出现n次的顺序
I { N1,N2 }我发生N1 - 在序列N2次
I { N1,N2 } ?非贪婪匹配,看上面的例子
I { N, }我occures > = n倍
[:指定alnum : ]字母数字字符: [ :阿尔法: ]和[ :数字: ]
[:阿尔法: ]字母字符: [ :较低: ]和[ :上: ]
[:空白: ]空白字符:例如空格,制表符
[: CNTRL : ]控制字符
[:数字: ]数字: 0 1 2 3 4 5 6 7 8 9
[: graph:]类似图形字符: [ :指定alnum : ]和[ : punct : ]
[:较低: ]在目前的语言环境小写字母
[:打印: ]可打印字符: [ :指定alnum : ],[ : punct : ]和空间
[: punct : ]标点字符: ! “ # $ % & ' ( ) * + , - / : ; . ? < = > @ [\] ^ _ ` { | } 〜
[:空间:]空格字符:制表符,换行符,垂直制表符,换页,回车,空格
[:上部: ]大写在当前区域设置信
[: xdigit : ]十六进制数字: 0 1 2 3 4 5 6 7 8 9 ABCDEF ABCDEF