前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >模式匹配

模式匹配

作者头像
生信补给站
发布2020-08-06 10:04:38
1.6K0
发布2020-08-06 10:04:38
举报
文章被收录于专栏:生信补给站

匹配操作符(绑定操作符): =~、!~ =~检验匹配是否成功:result= var =~ /abc/;若在该字符串中找到了该模式,则返回非零值,即true,不匹配则返回false。

!~则相反。

模式中的特殊字符

字符 + :一个或多个相同的字符,如:/ab+/在字符串abbc中匹配的将是abb,而不是ab。

字符 *和? :它们与+类似,区别在于*匹配0或任意个相同字符,?匹配0个或1个该字符。如:/de*f/匹配df、def、deeeef等;/de?f/匹配df或def。

字符{}:指定所匹配字符的出现次数。如:/de{1,3}f/匹配def,deef和deeef;/de{3,}f/匹配不少于3个e在d和f之间;/de{0,3}f/匹配不多于3个e在d和f之间。

字符 []和[^] []意味着匹配一组字符中的一个,如/a[0123456789]c/将匹配a加数字加c的字符串。^表示除其之外的所有字符,如:/d[^deE]f/匹配d加非deE字符加f的字符串。

匹配任意字母或数字

/[0-9]/表示任意数字,[a-z]表示任意小写字母,[A-Z]表示任意大写字母。

任意大小写字母、数字的表示方法为:/[0-9a-zA-Z]/,-表示字符范围。

转义字符\ 如果你想把模式中的特殊字符作为普通字符,须在其前加斜线“\”。如:/\*+/中\*即表示字符*,而不是上面提到的一个或多个字符的含义。反斜杠表示为/\//。

锚模式

^ 或 \A

仅匹配串首

$ 或 \Z

仅匹配串尾

\b

匹配一个单词边界,也就是指单词和空格间的位置, 'er\b' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的 'er'。

\B

匹配非单词边界, 'er\B' 能匹配 "verb" 中的 'er',但不能匹配 "never" 中的 'er'。

转义字符

描述

范围

\d

任意数字

[0-9]

\D

除数字外的任意字符

[^0-9]

\w

任意单词字符

[_0-9a-zA-Z]

\W

任意非单词字符

[^_0-9a-zA-Z]

\s

空白

[ \r\t\n\f]

\S

非空白

[^ \r\t\n\f]

匹配:m/<regexp>/;m可省略,匹配成功返回真,否则返回假

替换:s/<pattern>/<replacement>/;

翻译:tr/str1/str2/;

把str1中的第一个字符替换为str2中的第一个字符,把str1中的第二个字符替换为str2中的第二个字符,依此类推;

知识点回顾

匹配:m/<regexp>/;

替换:s/<pattern>/<replacement>/;

翻译:tr/str1/str2/;

匹配操作符=~、!~;

模式中的特殊字符。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2016-04-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信补给站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档