什么是正则表达式
正则表达式就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,用来表达对字符串的一种过滤逻辑。
通过正则表达式可以达到如下的目的:
- 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);
- 可以通过正则表达式,从字符串中获取我们想要的特定部分。
匹配任意字符:
.用来匹配一个任意字符,例如:
匹配特殊字符:
.在正则表达式中含有特殊的意义,是一个特殊的字符。\也是特殊字符,可以对特殊字符起到转义作用。如果你想匹配的是一个真正的" . "字符,需要在.前面加上\对字符进行转义。所以,.表示真正的" . "字符。
使用字符集合
上面说到.能匹配一个任意字符,但是如果我想匹配几个特定字符怎么办?匹配一组特定的字符可以使用[和]元字符。
正则表达式:c[ab]t
使用字符组区间:
在上面的例子中,假如我想匹配cet怎么办,在[]里面多加一个吗?那如果我想匹配任意小写字母呢,往里面写几十个吗?虽然是可以的,但是太长了。这里我们可以用到[a-z]:
正则表达式:c[a-z]t
匹配零个或者更多字符
如果希望匹配零个或更多字符的时候,可以使用元字符。
正则表达式:cat
匹配零个或者一个字符
?匹配零个或者一个字符。所以,?非常适合于在文本中匹配一个可选的字符。
正则表达式:ca?t
使用匹配次数
正则表达式允许指定匹配的次数。次数可以在“ { ”和“ } ”之间指定。
注意:{和}也是元字符,在使用字面含义的时候需要转义。
K-Mers
k-mer指的是一个字符串中所有长度为k的子字符串的集合。
使用jellyfish统计k-mers, 软件安装及使用可网上查询。
网友评论