首页 > 网名 正文
qq名字带有元字的 qq名字带有梦的名字?

时间:2023-09-14 作者:佚名

承接之前内容,继续介绍R语言中的字符串函数。

4.2 R语言中的正则表达式
正则表达式通过各种函数对字符串进行查询,是一种特殊的字符串模式,定义一组规则去匹配符合该规则的字符。R语言中stringr包中用到的ICU正则表达式,这里简单介绍一下常用到的正则表达式,简单分为下面几种:

  • 完全匹配
  • 转义符
  • 元字符与反义符
  • 重复量词
  • 分组与条件或

为了显示字符串中字符函数是怎么匹配的,这里使用str_view()函数进行讲解。

4.2.1 完全匹配

library(stringr) library(htmltools) library(htmlwidgets) text <- c("Flash", "gmy_Flash", "Flash WorkingNotes")

匹配text字符串向量中的"a":

str_view(text, "a")

匹配字符串向量中的"lash":

4.2.2 转义符

字符串中元字符、限定符或者关键词都是有特殊含义的,匹配的时候需要转化成普通字符,只需在前面加上"\"即可。

text1 <- "Flash. WorkingNotes"

我们想匹配字符串中的".",如果直接用完全匹配:

str_view(text1, ".")

为什么匹配到的是"F"呢?因为"."是元字符,要想匹配到普通字符".",需要使用"\"将其转义成普通字符,若使用"\."匹配,结果会是怎么样呢?

str_view(text1, "\.")


会报错,是因为\也是特殊符号,也需要使用\进行转义,因此想要匹配到普通字符".",正确的应该去匹配"\\."

str_view(text1, "\\.")

如果在使用正则表达式的过程中,发现匹配到并不是你想要的结果,一检查匹配规则是否正确,二是看下你想要匹配的字符是否为一些特殊符号,需要进行转义,三是贪婪匹配还是懒惰匹配。

4.2.3 元字符合反义符

元字符是正则表达是的最基本元素,匹配某个字符,反义符是取反的意思。

"."元字符

"."匹配除换行符\n以外的所有字符

text2 <- c("Flash_1 \\n", "2 Flash", "高 \\t3_Flash", "&4_ Flash")str_view(text2, ".")

匹配以"l"开始和"h"结束的字符:

str_view(text2, "l..h")

"\w"和"\W"

"\w"用于匹配匹配字母、数字、汉字以及空格下划线等;而"\W"用于匹配非"\w"的。

str_view(text2, "\\w") str_view(text2, "\\W")

"\s"与"\S"

"\s"用于匹配空白符,而"\S"用于非"\s"。

str_view(text2, "\\s") str_view(text, "\\S")

"\d"与"\D"

"\d"用于匹配数字,而"\D"用于匹配非"\D".

str_view(text2, "\\d") str_view(text2, "\\D")

"\b"、"\B"、"^"、"$"

"\b"用于匹配字符串的开始或者结束,字符串的边界,而"\B"用于非字符串的边界。

"^"用于匹配字符串的开始,"$"用于匹配字符串的结束。

text3 <- c("Flash_1 \\n", "h2 Flash", "高 \\t3_Flash", "&4_ Flash")

匹配text3字符串向量以"h"开始的字符串:

str_view(text3, "\\bh")

等价于

str_view(text3, "^h")

匹配text3字符串向量以"h"开结束的字符串:

str_view(text3, "h\\b")

等价于

str_view(text3, "h$")

4.2.4 重复量词

元字符是正则表达式的最基本元素,要想匹配多个元字符,例如匹配QQ号是8位数字的QQ的,使用元字符可以写成^\\d\\d\\d\\d\\d\\d\\d\\d$,是不是发现很不简洁,而且容易出错,为了处理类似的重复性问题,正则表达式中有一些重复量词,把重复部分用合适的量词替代。

"*"与"+"重复量词

注意"*"和"+"的区别:"*"匹配0次或者多次;"+"匹配1次或者多次。

text4 <- c("10299980", "a102999803", "b1029998032", "ab20299980", "aabab")

匹配以数字开始且连续几位都是数字:

str_view(text4, "^\\d*") str_view(text4, "^\\d+")

"?"重复量词

这里涉及到贪婪和懒惰匹配。

贪婪匹配:通常正则表达式中包含能接受重复的限定符时,通常是匹配尽量多的字符,称之为贪婪匹配。

懒惰匹配:希望匹配尽可能少的字符,需要使用"?"限制,只需要在限定符后面加上"?"。

例如:匹配以a开头,以b结束的字符串:

str_view(text4, "^a.*b") str_view(text4, "^a.*?b")

{n}、{n,}与{n,m}重复量词

{n}:前面元素刚好重复n次;

{n,}:前面元素至少重复n次;

{n,m}:前面元素至少重复n次,最多重复m次;

匹配text4中,刚好是8个数字的字符串:

str_view(text4, "^\\d{8}$")

匹配text4,含有至少8个数字的字符串:

str_view(text4, "\\d{8,}")

这里可以运行一下str_view(text4, "\\d{8,}?"),加深对贪婪和懒惰匹配的理解。

匹配text4中,含有8-9位数字的字符串:

str_view(text4, "\\d{8,9}")

4.2.5 分组和条件或

上面重复量词都是重复前面的一个元素,那么如果我们想重复前面两个元素,即需要将前面两个元素作为一个整体。正则表达式中使用()来做分组,把括弧中的元素当做一个整体。

匹配以ab开头的字符串:

str_view(text4, "^(ab)+")

问题又来了,如果想匹配以a开头或者以b开头的字符串,总不能写两个匹配模式吧。正则表达式中使用"|"来表示或(或使用中括号[]),也叫做分支条件,满足分支条件中的任意一种条件时,都会成功匹配。

匹配以字母a或者b开头的字符串:

str_view(text4, "^(a|b)+")

等价于

str_view(text4, "^[ab]+")

4.2.6 R语言正则表达式总结

正则表达式部分比较晦涩,看书的时候在这个部分花了很长时间,理解这一块,最好是理论结合练习,多写一下案例,下面会接着介绍stringr包中的使用正则表达式的字符串处理函数。

本文信息为网友自行发布旨在分享与大家阅读学习,文中的观点和立场与本站无关,如对文中内容有异议请联系处理。

本文链接:https://www.paituo.cc/wangming/1189230.html

  • 小编推荐

    「qq名字前面带翅膀」qq名字带有特殊符号翅膀?

    qq名字前面带翅膀,qq名字带有特殊符号翅膀,qq名字男生带翅膀相关介绍,hello,又见面了,我是悦耳,关注【悦耳讲游戏】,悦耳会每天给大家推荐游戏最新资讯和攻略解析,感谢大家长得那么好看,那么帅还关注我。 大家都知道,腾讯除了做聊天软件外,最大的盈利就是游戏,并且腾讯每

    qq名字特殊符号笑脸——qq名字带有特殊符号?

    qq名字特殊符号笑脸,qq名字带有特殊符号,qq名字特殊符号花纹相关介绍,Unicode协会在一月份详细介绍了新的Emoji 13.0新增功能,以使平台供应商有时间创建自己的版本并实施,因此Google也为安卓定制了新版表情符号。 在“ 笑脸与情感 ”下,有“含泪的笑脸”和

    带有陆字的qq名字—qq名字带有梦的名字…

    带有陆字的qq名字,qq名字带有梦的名字,带有顾的qq名字相关介绍,童谣—Smiling 陆思诚—Chessman

    「带有浅的qq名字」qq名字带有梦的名字…

    带有浅的qq名字,qq名字带有梦的名字,带有顾的qq名字相关介绍,紧跟时代潮流的步伐,下面就是可爱点小编整理的一些简单又好听的网名女英文带翻译,来看看吧~ Abstention(禁戒) Vent(放空) captive(俘虏) meditation(冥想) Warm

    炫酷花样QQ名字最炫酷的qq名字带有特殊符号

    炫酷花样QQ名字,最炫酷的qq名字带有特殊符号,超炫酷的qq名字相关介绍,来源:央视网 北京冬奥会花样滑冰各项比赛正在如火如荼地进行,对于花滑迷来说,这些天的比赛可以说是大饱眼福。对于自己喜爱的选手,花滑迷们经常会起一些昵称;但对于普通人来说,这些“眼花缭乱”的昵称指的是谁

    「带有王的qq名字」qq名字带有梦的名字

    带有王的qq名字,qq名字带有梦的名字,带有顾的qq名字相关介绍,1.不同意,搁你家门口埋地雷。 2.慕名而来,你不要不知好歹。 3.英雄不问出处,恋爱找我速度。 4.英子,通过,我是爹地。 5.加我拿张飞洗澡视频。 6.你长得好哇塞,我可以认识你吗? 7.我是拼多

    〈qq带有雷的名字〉qq名字带有特殊符号?

    qq带有雷的名字,qq名字带有特殊符号,qq名字带有梦的名字相关介绍,最近,有一名香港的学生很心累。为啥?因为他的名字太冷僻,基本没有老师和同学会读。从小到大,同学们都管他叫“喂”。连他自己也经常会写错。所以,这位禤靐龘同学表示:“我想改名” 唔……看到他的名字,小编也

    qq名字带有苏的—qq名字带有梦的名字

    qq名字带有苏的,qq名字带有梦的名字,qq名字带有特殊符号相关介绍,2018年百家姓最新排名 姓氏,是人根,是祖先魂,是标志家族系统的称号,是人们进行社会交往的先决条件。中华姓氏文化在世界文明史上独树一帜。 据《半月谈》报道,--中华民族的姓氏多达11939个。这些姓