正则表达式

关于作者

周李杰,最后一批90后,现居湖北武汉

孤独患者,懒癌中期,无脑幻想者。但却人畜无害,无需远离。

兴趣众多,然无一精通。正努力成为一个有趣的人。

1
2
> print("👆以上是不完整的我") //请我吃大餐将会了解更多
>

[TOC]

正则表达式分类

正则表达式:REGEXP REGular EXPression

可分为两种:

  • Basic REGEXP (基本正则表达式)
  • Extended REGEXP (扩展正则表达式)

基本正则表达式

  • 元字符
1
2
3
.	任意单个字符
[] 匹配指定范围内的任意单个字符
[^] 匹配指定范围外的任意单个字符
  • 匹配次数(贪婪模式)
1
2
3
4
5
*	匹配其前面的任意单个字符任意次
.* 任意长度的任意字符
\? 匹配其前面的任意单个字符1次或0次
\+ 匹配其前面的任意单个字符至少1次
\{m,n\} 匹配其前面的任意单个字符至少m次,至多n次
  • 位置锚定
1
2
3
4
5
^	锚定行首,此字符后面的任意单个字符必须出现在行首
$ 锚定行尾,此字符前面的任意单个字符必须出现在行尾
^$ 空白行
\<或\b 锚定词首,其后面的任意单个字符必须作为单词首部出现
\>或\b 锚定词尾,其前面的任意单个字符必须作为单词尾部出现
  • 分组
1
2
\(\) 
例如:\(ab\)*
  • 后向引用
1
2
\1	引用第一个左括号以及与之对应的右括号所包括的所有内容
\2 引用第二个左括号以及与之对应的右括号所包括的所有内容

扩展正则表达式

  • 字符匹配
1
2
3
.       //匹配任意单个字符
[] //匹配指定范围内的任意单个字符
[^] //匹配指定范围外的任意单个字符
  • 次数匹配
1
2
3
4
*	匹配其前面的任意单个字符任意次
? 匹配其前面的任意单个字符1次或0次
+ 匹配其前面的任意单个字符至少1次
{m,n} 匹配其前面的任意单个字符至少m次,至多n次
  • 位置锚定
1
2
3
4
5
^	锚定行首,此字符后面的任意单个字符必须出现在行首
$ 锚定行尾,此字符前面的任意单个字符必须出现在行尾
^$ 空白行
\<或\b 锚定词首,其后面的任意单个字符必须作为单词首部出现
\>或\b 锚定词尾,其前面的任意单个字符必须作为单词尾部出现
  • 分组
1
2
3
()	分组
\1,\2,\3,....
例如:(ab)*
  • 后向引用
1
2
\1	引用第一个左括号以及与之对应的右括号所包括的所有内容
\2 引用第二个左括号以及与之对应的右括号所包括的所有内容
  • 或者
1
2
|	or 默认匹配|的整个左侧或者整个右侧的内容
例如:C|cat表示C或者cat,要想表示Cat或者cat则需要使用分组,如(C|c)at
打赏
  • © 2019-2020 Li Jie
  • Powered by Hexo Theme Ayer
    • PV:
    • UV:

喜欢就打赏吧~

支付宝
微信