全网最易懂的正则表达式教程(3)- 量词

简介: 全网最易懂的正则表达式教程(3)- 量词

正则详细教程系列可以看此链接的文章哦

https://www.cnblogs.com/poloyy/category/1796055.html

 

量词(限定符)


代码/语法 说明
* 重复 0 次或更多次
+ 重复 1 次或更多次
? 重复零次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次
  • 简单来说,限定符就是可以让元字符重复匹配
  • 毕竟每个元字符只能匹配一个字符,如果要匹配 100 个字符,难道要写 100 个元字符吗
  • 这个时候用上元字符 + 限定符就可以解决这个问题了

 

* 的栗子


应该是最常用的限定符了

first

匹配文本 yy12菠萝
正则表达式 \w*
匹配数量 1
匹配结果 yy12

 

second

匹配文本 yy1_菠
正则表达式 .1*
匹配数量 4
匹配结果 y、y1、_、菠

 

third

匹配文本 yy_菠萝
正则表达式 \d*\w*
匹配数量 1
匹配结果 yy_

 

+ 的栗子


first

匹配文本 yy12菠萝
正则表达式 \w+
匹配数量 1
匹配结果 yy12

 

second

匹配文本 yy1112菠萝
正则表达式 .1+
匹配数量 1
匹配结果 y111

记住,限定符只对它前面一个元字符生效,这里是 1 ,所以是匹配一个 1 或者多个 1

 

third

匹配文本 yy_菠萝
正则表达式 \d+\w+
匹配数量 0
原因 \d 起码需要匹配到一个数字,但没有

 

? 的栗子


first

匹配文本 yy12菠
正则表达式 \w?
匹配数量 6
匹配结果 y、y、1、2、空、空

 

second

匹配文本 yy_12菠萝
正则表达式 ._?.*
匹配数量 1
匹配结果 yy_12菠萝

_ 可有可无

 

third

匹配文本 yy_121_2菠萝
正则表达式 \d?. 
匹配数量 7
匹配结果 y、y、_ 、12、1_ 、2菠、萝

 

{n} 的栗子


first

匹配文本 yy12菠萝测试
正则表达式 y{2}\d{1}\w.{2} 
匹配数量 1
匹配结果 yy12菠萝

 

second

匹配文本 13501489999
正则表达式 ^135\d{8}$
匹配数量 1
匹配结果 13501489999

 

third

匹配文本 023-81200222、023-81200223、023-81200224
正则表达式 0\d{2}-\d{8} 
匹配数量 3
匹配结果

023-81200222

023-81200223

023-81200224

 

{n,} 的栗子


first

匹配文本 poloyy
正则表达式 y{1,} 
匹配数量 1
匹配结果 yy

 

second

匹配文本 13501489999
正则表达式 ^135\d{1,}$
匹配数量 1
匹配结果 13501489999

 

third

匹配文本 023-81200222、023-81200223、023-81200224
正则表达式 0\d{1,}-\d{1,}
匹配数量 3
匹配结果

023-81200222

023-81200223

023-81200224

 

{n,m} 的栗子


first

匹配文本 poloyy菠萝
正则表达式 yy菠1{0,1}
匹配数量 1
匹配结果 yy菠

 

second

匹配文本 13501489999
正则表达式 ^135\d{1,8}$
匹配数量 1
匹配结果 13501489999

 

third

匹配文本 023-81200222、023-81200223、023-81200224
正则表达式 0\d{1,2}-\d{1,8}
匹配数量 3
匹配结果

023-81200222

023-81200223

023-81200224

相关文章
|
4月前
|
关系型数据库 MySQL
MySQL 保姆级教程(七):用正则表达式进行搜索
MySQL 保姆级教程(七):用正则表达式进行搜索
|
4月前
|
数据采集 监控 Java
正则表达式教程:从入门到实战应用
正则表达式教程:从入门到实战应用
|
5月前
|
数据采集 监控 Java
正则表达式教程:从入门到实战应用
正则表达式教程:从入门到实战应用
|
6月前
|
Perl
Perl 教程 之 Perl 正则表达式 7
Perl教程讲解了其强大的正则表达式功能,用于字符串匹配、查找、替换和提取。示例展示如何使用`/s`删除变量`$string`中的重复字符,输出结果为原字符串。其他实例包括将非数字字符替换为空格,删除tab和空格,以及将数字间字符替换为单个空格。
48 3
|
6月前
|
Perl
Perl 教程 之 Perl 正则表达式 6
**Perl正则表达式强大多能,常用于字符串匹配、替换和提取。转化操作符如`tr`用于字符转换,如将所有小写字母转大写:`$string =~ tr/a-z/A-Z/`。**
50 2
|
6月前
|
Perl
Perl 教程 之 Perl 正则表达式 4
简洁概括:Perl正则表达式强大,s///操作符用于字符串替换,例子展示替换"google"为"baidu"。
40 1
|
6月前
|
Perl
Perl 教程 之 Perl 正则表达式 1
Perl教程介绍了其强大的正则表达式功能,用于字符串匹配、替换和转化。匹配用m//(可简写为//),替换用s///,转化用tr///,常与=~或!~配合判断匹配与否。示例展示了m//在匹配字符串中的应用。
35 0
|
6月前
|
Windows Perl
Perl 教程 之 Perl 正则表达式 8
Perl的正则表达式是其强项,常用于字符串匹配、查找、替换等。基本操作包括:`.`匹配任意字符(除换行符),`x?`匹配0或1次`x`,`x*`匹配0或多次`x`,`x+`匹配1或多次`x`。还有范围匹配如`[0-9]`、否定匹配`[^a-z]`、边界匹配`\b`等。特殊序列如`\d`代表数字,`\s`代表空格,`()`用于记忆匹配内容,`/pattern/i`忽略大小写。
110 0
|
6月前
|
存储 算法 Shell
【Shell 命令集合 文档编辑】Linux 正则表达式匹配 egrep命令使用教程
【Shell 命令集合 文档编辑】Linux 正则表达式匹配 egrep命令使用教程
81 0
|
6月前
|
机器学习/深度学习 Java 索引
39、一篇文章弄懂 Java 正则表达式中的量词、贪婪、勉强、独占和 String 的 matches 方法的底层【个人感觉非常值得学习】
39、一篇文章弄懂 Java 正则表达式中的量词、贪婪、勉强、独占和 String 的 matches 方法的底层【个人感觉非常值得学习】
66 0