栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

有关正则表达式的小知识点1

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

有关正则表达式的小知识点1

正则表达式的基本语法:

界定符、原子、量词、边界控制、模式单元

界定符:

表示一个正则表达式的开始和结束。
界定符不是正则表达式的一部分。
//,##,{};都是界定符。
例如:/[0-9]/ 、 #[0-9]# 、 {[0-9]}

正则表达式的工具:

原子:

可见原子:Unicode编码表中用键盘输出后肉眼可见的字符
例如:
标点;“_?.等等
英文字母数字 a-z,A-Z,0-9
汉字,日文,阿拉伯文等其他语言文字
∑,∈,∫,≈等数理化公式符号
其他可见符号

不可见原子:Unicode编码表中用键盘输出后肉眼不可见的字符
例如:
换行符n
回车r
制表符t
空格
其他不可见符号

元字符

原子的筛选方式
| 匹配两个或者多个分支选择;
[] 匹配方括号中的任意一个原子
[^] 匹配除方括号中的原子之外的任意字符
原子的集合
. 匹配除换行符之外的任意字符
d 匹配任意一个十进制的数字。即[0-9]
D 匹配任意一个非十进制数字。即[^0-9]
s 匹配一个不可见原子,即[fnrtv]
S 匹配一个可见原子,即[^fnrtv]
w 匹配任意一个数字、字母或下划线,即[0-9a-zA-Z]
W 匹配任意一个非数字、字母或下划线,即[^0-9a-zA-Z]
量词:
{n} 表示其前面的原子恰好出现n次
{n,} 表示其前面的原子最少出现n次
{n,m} 表示其前面的原子最少出现n次,最多出现m次
* 匹配0次、1次或者多次其之前的原子,即{0,}
+ 匹配1次或者多次其之前的原子,即{1,}
? 匹配0次或者1次其之前的原子。即{0,1}

边界控制与模式单元
^ 匹配字符串开始的位置
$ 匹配字符串结尾的位置
() 匹配其中的整体为一个原子

修正模式

常见的修正模式:
U 懒惰匹配
i 忽略英文字母的大小写
X 忽略空白
S 让元字符’.’匹配包括换行符在内所有字符
e
懒惰匹配和贪婪匹配
//正则表达式的贪婪匹配和懒惰匹配

$pattern ='/imooc.+123/';
$subject = 'i love imooc__123123123123123';
$matches = array();
preg_match($pattern,$subject,$matches);
show($matches);

运行结果:默认是贪婪模式
懒惰匹配正则表达式$pattern = ‘/imooc.+123/U’;
运行结果:
忽略大小写i

$pattern ='/iMoOc.+123/i';
$subject = 'i love imooc__123123123123123';
$matches = array();
preg_match($pattern,$subject,$matches);
show($matches);

运行结果:
忽略空白符x

$pattern ='/i Mo  Oc.+123/ix';
$subject = 'i love imooc__123123123123123';
$matches = array();
preg_match($pattern,$subject,$matches);
show($matches);

运行结果:
**非空:.+
浮点数匹配:
d+.d{2}$
解释:d 代表[0-9]数字

  • 代表1或者若干个数字
    . 代表的小数点
    d{2} 代表连续两个小数点
    $ 结尾符
    手机号匹配:
    1(3|4|5|6|7|8)d{9}
    E-mail匹配:
    ^w+(.w+)*@w+(.w+)+$
    URL的地址匹配:
    ^(https?://)?(w+.)+[a-zA-Z]+$**
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/233085.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号