首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

R正则表达式-理论

正则表达式是描述字符串(strings)集合的一个模式(pattern),概念比较抽象,举个例子就比较好理解,比用.(点,英文句号)表示任意一个非空字符的话,那么A.就可以用来表示AA,AB...。

1.元字符

上面这个简单的例子看到,用.(英文的句号)可以表示任意一个非空的字符,聪明的我们自然会问,还有没有别的符号代表“特殊的意义”?以下这些符号具有特殊的意义:

. 任意一个非空字符,如A.可表示AB,AC,等等

| 表示或者的意思,如A|B表示A或者B,

( ) 表示模式分组,也可以理解为数学里面的优先计算,比如AB|C 究竟表达的意思是AB或C还是AB或AC呢,不必担心,加个括号就明朗。A(B|C),就表示AB或AC,

[] 表示内容之一,如[a-z]就表示a-z中的一个

表示前面的内容,匹配多少次;次数在n-m之间

^ 表示在字符串的开头,^放在[]里表示非

$ 表示字符串尾部

* 量词,表示前面匹配n个

+ 一个或多个

? 零个或多个

\ 转义

\\t tab

\\n换行

2.类字符

\\d 表示数字0-9,

\\D 表示非数字,

\\s 表示空白字符(包括空格、制表符、换行符等),

\\S 表示非空白字符,

\\w 表示字(字母和数字),

\\W 表示非字,

\num 其中num是一个正整数。对所获取的匹配的引用。例如,“(.)\\1”匹配两个连续的相同字符。

3.边界字符

\\b匹配一个单词边界,也就是指单词和空格间的位置。

\\B匹配非单词边界。

\\右空

4.正则表达式符号运算顺序

()最优先,然后是表示重复次数的操作,即:* + {},接下来是连接运算(其实就是几个字符放在一起,如abc),最后是表示可选项的运算|;这些运算规则并不重要,重要的是你想哪里优先,就在哪里加小括号。

下面链接下载R正则Cheat Sheet

https://www.rstudio.com/wp-content/uploads/2016/09/RegExCheatsheet.pdf

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180410G1SEN800?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券