正则表达式基础用法

正则表达式

正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。

测试工具

语法

1.元字符

字符 含义 示例
* 匹配任意长度的字符串
? 匹配长度为1的字符串
. 匹配除换行符以外的任意字符
^ 匹配字符串(一行)的开始
$ 匹配字符串(一行)的结束
\w 匹配字母或数字或下划线或汉字
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束 \bgood\b
\r 匹配回车符
\n 匹配换行符
\f 匹配换页符
[a-z]] 匹配指定范围内任意字母
[1-9]] 匹配指定范围内任意数字

2.反义

字符 含义 示例
\W 匹配任意不是字母或数字或下划线或汉字的字符
\S 匹配任意不是空白符的字符
\D 匹配任意非数字的字符
\B 匹配不是单词的开始或结束的位置
[^x] 匹配任意除x以外的字符
[^aeiou] 匹配除了aeiou这几个字母以外的任意字符

3.重复模式

字符 含义 示例
* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m}} 重复n到m次

4.贪婪和懒惰

字符 含义 示例
*? 重复零次或更多次,但尽可能少重复
+? 重复一次或更多次,但尽可能少重复
?? 重复零次或一次,但尽可能少重复
{n,}? 重复n次或更多次,但尽可能少重复
{n,m}}? 重复n到m次,但尽可能少重复

5.分支条件

  • 用 | 把不同的规则分隔开
  • 从左到右的测试每个条件,如果满足了某个分支的话,就不再管其他的条件了

6.分组匹配

  • 使用()进行分组,将子表达式做成子集
  • ()内的内容单独匹配捕获为为一组结果
  • (?:)对()的子表达式进行匹配但不分组也不捕获
发布了16 篇原创文章 · 获赞 1 · 访问量 488

猜你喜欢

转载自blog.csdn.net/u013566243/article/details/103897268
今日推荐