限时免费试用:欢迎注册 api.bigmodel.org ,快速体验大模型 API 接入服务。
当前位置:首页

正则表达式

分类:时间:2017-11-17浏览:4680

简介


正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。(简介摘抄自菜鸟教程,我也没听懂什么意思,反正就是为了提高效率,往往需要100行代码的,用正则只需要一行就能解决。^_^)

语法


正则表达式由定界符、原子、元字符、模式修正法组成。 定界符:常用// 也可以用{} || !! ## 等,成对出现, 可省略 原子:最小的一个匹配单位,放在定界符中。/原子/ 原子表:[122w2d] [a-zA-Z0-9] [^1-9]非1-9 (原子表中 -表示多少到多少 ; ^表示非) 元字符:不能单独使用,用来扩展原子功能,修饰原子,对某个原子进行修正 模式修正符:修正,对整个正则进行修正,写在定界符后面。

元字符


普通元字符

常用的元字符
代码说明
.匹配除换行符以外的任意字符
|匹配多者之间的或(优先级最低)
^ 或\A匹配字符串的开始
$ 或\Z匹配字符串的结束

重复元字符

代码/语法说明
*重复零次或更多次
+重复一次或更多次,至少一次
?重复零次或一次
{n}重复n次
{n,}重复n次或更多次
{n,m}重复n到m次
例:go*gle匹配goooooogle、ggle 解析:*前面的o可以重复零次或多次

小括号(重要)

作用: 1改变优先级 2将小原子变为大原子 /(hjbkj)*hiu/ 3子模式,整体是一个大模式,小括号中的是独立的子模式 4反向引用(-|/) (?:\d{66}) ?: 取消子模式,变为独立模式

字符转义


本身用法

查找.可以使用\ 组成 . 查找*可以使用\ 组成 * 例如:wangmingchang.com匹配wangmingchang.com

匹配用法

常用的反义
代码说明
\d匹配数字[0-9]
\D匹配非数字[^0-9]
\w匹配字母、数字、下划线、汉字
\W匹配非字母、数字、下划线、汉字
\s匹配空白
\S匹配非空白
.匹配任意原子(.比较贪婪,后面介绍)
\b 匹配单词边界(空格?) 用法: \bgood\b 解析:匹配good左右两边都有边界 \B 匹配单词非边界部分 技巧 .* 任意原子出现任意次

优先级


| 优先级最低。 用()改变优先级。

模式修正符


写在定界符外面 /\d{6}/i i即是一个模式修正符(i 不区分大小写) 一个符号一个功能,可组合使用
模式修正符说明
i表示在和模式进行匹配进不区分大小写(默认区分大小写)
m将模式视为多行,使用^和$表示任何一行都可以以正则表达式开始或结束(默认视为一行)
s如果没有使用这个模式修正符号,元字符中的"."默认不能表示换行符号,将字符串视为单行
x表示模式中的空白忽略不计
e正则表达式必须使用在preg_replace替换字符串的函数中时才可以使用(讲这个函数时再说)
A以模式字符串开头,相当于元字符^
Z以模式字符串结尾,相当于元字符$
U正则表达式的特点:就是比较“贪婪”,使用该模式修正符可以取消贪婪模式(不建议使用)
.*? ?防止贪婪

经典事例


正则表达式常用规则整理(1) http://www.wangmingchang.com/2244.html 正则表达式常用规则整理(2) http://www.wangmingchang.com/2245.html

在线测试工具


http://rubular.com/

参考文献


菜鸟教程:http://www.runoob.com 脚本之家:http://www.jb51.net

更新记录


2017-11-4 第一版 正则表达式的一些简单应用

版权


本在线手册由王明昌博客编写,转发请保留原地址:http://www.wangmingchang.com/
本站文章如未注明出处均为原创,转载请注明出处,如有侵权请邮件联系站长。
0/500
Share your thoughts respectfully.