正则表达式——Regular Expression基础

正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为"元字符")组成的文字模式。模式描述在搜索文本时要匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。

1、元字符

正则表达式语言由两种基本字符类型组成:原义(正常)文本字符和元字符。元字符使正则表达式具有处理能力。所谓元字符就是指那些在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符)在目标对象中的出现模式。


2、特殊字符
特别字符 描述
( ) 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 \( 和\ )
* 匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \*。
+ 匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 \+
. 匹配除换行符 \n 之外的任何单字符。要匹配 . ,请使用\ .
? 匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 字符,请使用 \?
^ 匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合。要匹配 ^ 字符本身,请使用 \^

3、限定符
字符 描述
( ) 标记一个子表达式的开始和结束位置
+ 匹配前面的子表达式一次或多次
? 匹配前面的子表达式零次或一次
{n} n 是一个非负整数,匹配确定的 n 次
{n,} n 是一个非负整数。至少匹配n 次
{n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次

4、元字符
元字符 正则表达式中的写法 含义
. . 任意一个字符
\d \\d 0~9的任意一个数字
\D \\D 任意一个非数字字符
\s \\s 空白字符,如\t、\n
\S \\S 非空白字符
\w \\w 代表可用作标识符的字符
\S \\S 非空白字符
\p{Lower} \\p{Lower} 小写字母
\p{Upper} \\p{Upper} 大写字符
\p{ASCII} \\p{ASCII} ASCII字符
\p{Alpha} \\p{Alpha} 字母字符
\p{Digit} \\p{Digit} 十进制数字,即[0~9]
\p{Alnum} \\p{Alnum} 数字或字母字符
\p{Punct} \\p{Punct} 标点符号

5、限定符
限定修饰符 意义 示例
0次或1次 A?
* 0次或多次 A*
+ 0次或多次 A+
{n} 正好出现n次 A{n}
{n,} 至少出现n次 A{3,}
{n,m} 出现n到m次 A{2,6}

6、正则表达式的简单例子
^[0-9]+abc$
  • ^ 为匹配输入字符串开始的位置;
  • [0-9]+匹配多个数字,[0-9]匹配单个数字,+匹配一个或多个;
  • abc$匹配字母abc并以abc结尾,$为匹配输入字符串的结束位置;

你可能感兴趣的:(正则表达式——Regular Expression基础)