正则表达式


每日一记

正则表达式

概念:正则表达式是用于描述字符排列和匹配模式的一种语法规则。
作用:
1.匹配,也常常用于从字符串中析取信息。
2.用新文本代替匹配文本。
3.将一个字符串拆分为一组更小的信息块。
基本语法:
1.正则匹配模式使用分隔符与元字符组成
(1)分隔符可以是非数字、非反斜线、非空格的任意字符
(2)经常使用的分隔符是正斜线(/)、hash符号(#) 以及取反符号(~)
2.元字符是用于构造规则表达式的具有特殊含义的字符
3.如果要在正则表达式中包含元字符本身,必须在其前加上”\”进行转义

           【常见元字符】
 元字符             说明
*                0次、1次或多次匹配其前的原子
+                1次或多次匹配其前的原子
?                0次或1次匹配其前的原子
|                匹配两个或多个选择
^                匹配字符串串首的原子
$                匹配字符串串尾的原子
[]                匹配方括号中的任一原子
[^]                匹配除方括号中的原子外的任何字符
{m}                表示其前原子恰好出现m次
{m,n}            表示其前原子至少出现m次,至少出现n次(n>m)
{m,}            表示其前原子出现不少于m次
()                整体表示一个原子
.                匹配除换行之外的任何一个字符


边界限制:
1.^和$分别指定字符串的开始和结束。
2.^Tom$精确匹配————Tom模糊匹配
3.重复匹配:
    ?匹配存在?前的一个字母或是不存在这个字母的字符串
    *匹配0/1/多次匹配该字母的字符串
    +匹配1/多次该字母的字符串
    .匹配除换行符外的任何字符
    .*组合称为全匹配符或单含匹配符
    {}指定原子重复的次数
        {m}表示其前原子恰好出现m次;
        {m,n}表示其前原子至少出现m次,至多出现n次;
        {m,}表示其前原子出现不少于m次。
    []匹配其中的一个原子并且地位平等
    |匹配多个选择之一,可以连用|
4.模式单元:
    ()将其中的正则表达式变为原子(或称为模式单元)使用————其实用处相等于数学的括号
5.模式匹配的顺序(从高到低):
  顺序    元字符         说明
  1        ()          模式单元    
  2       ?* +{}        重复匹配
  3         ^$           边界限制
  4         |            模式选择

特殊字符:
$匹配输入字符串的结尾位置
()标记表达式开始与结束的位置
*匹配前面的子表达式0次或多次
+匹配前面的子表达式1次或多次
.匹配除换行符\n外的任何单字符
[标记一个中括号表达式的开始
?匹配前面的子表达式0次或一次,或指明一个非贪婪限定符
\将下一个字符标记为特殊字符/原义字符/向后引用/八进制转义符
^匹配字符串的开始位置(在方括号中表示不接受该字符集合)
{标记限定符巴达兽的开始
|指明两项之间的一个选择

每日一句

生活哪有什么胜利可言,挺住意味着一切。

评论
  目录