正则表达式 入门笔记
来源:互联网 发布:淘宝刷微淘粉丝 编辑:程序博客网 时间:2024/06/16 04:59
正则表达式
正则表达式是一中藐视字符串结构的语法规则,是一个特定的格式化模式,可以匹配、替换、截取匹配的字符串。
行定位符
^ 表示行的开始
$ 表示行的结束
如:
^tm 表示的是以tm开头的一个行 ,tm query is correct
tm$ 则匹配的是 , query is correct by tm
tm 则以上两者都可以匹配
单词定界符
字符类
正则表达式是区分大小写的,忽略大小写则需要“[]”。
如,我需要匹配一个tm字符串,不区分大小写,则格式是:
[Tt][Mm]
选择字符( | )
类似程序开发中的“或”。同样,需要匹配一个tm字符串,不区分大小写。还可以写为:
t|Tm|M
连字符( - )
如果需要匹配一个字母,写为[a,b,c,d,e,f,g,…A,B,C,D,E,F,G….]会很繁琐也会很累。
使用连字符则表示一定范围的意思,则字母就可以写为:
[a-zA-Z]
排除字符( [^] )
匹配不符合规则的变量,类似取反的意思。
[^a-zA-Z]
表示的是匹配不以字母和下划线开头的变量名
限定符( ? * + {n, m} )
限界符
说明
Demo
?
匹配前面的字符零次或一次
colou?r , 可以匹配colour 或 color
+
匹配前面的字符一次或多次
go+gle , 匹配 gogle 到 go…gle
*
匹配前面的字符零次或多次
go*gle , 匹配 ggle 到 go…gle
{n}
匹配前面的字符n次
go{2}gle , 只匹配 google
{n,}
匹配前面的字符至少n次
go{2,}gle , 匹配 google 到 go…gle
{n,m}
匹配前面的字符至少n次,最多m次
go{0,2}gle , 匹配 ggle , gogle , google
点号字符( . )
匹配除换行符外的任意一个字符
说明
表达式
Demo
匹配以s开头、t结尾、中间包含一个字母的单词
^s.t$
sat、set、sit
匹配第一个字符时r,第三个是s,最后一个是t的字符
^r.s.*t$
rast、risat、restet
括号字符( ( ) )
你没猜错,和我们平时的计算式中括号的作用一样,改变计算的优先级
如,
(fa|mo)ther
先匹配的是括号内的|,再匹配括号外的。匹配的单词为:father,mother
转义字符( \ )
如“.”,“?”,“\”等字符已经有了自己的特殊含义,如果想使用本身的字符含义则需要在字符前加一个“\”来转义。
比如我们要匹配这么一个IP地址127.0.0.1
[0-9]{1,3}(\.[0-9]{1,3}){3}
反斜线( \ )
表示预定义字符集
预定义字符
说明
\a
任意一个十进制数,相当于[0-9]
\D
任意一个非十进制数
\s
任意一个空白字符(空格、换行符、换页符、回车、制表),即[\f\t\r\n]
\S
任意一个非空白字符
\w
任意一个单词字符,相当于[a-zA-Z0-9_]
\W
任意一个非单词字符
定义断言的限定符
限定符
说明
\b
单词定界符,用来匹配字符串中的某些位置
\B
非单词定界符序列
\A
总是能够匹配带搜索文本的起始位置
\Z
表示在未指定任何模式下的匹配的字符,通常是字符串的末尾位置
\z
子匹配字符串的末尾,而不考虑任何的换行符
\G
当前匹配的起始位置
- 正则表达式 入门笔记
- 正则表达式 入门笔记
- 正则表达式入门学习笔记
- python正则表达式入门笔记
- 自学笔记:正则表达式入门
- 精通正则表达式--正则表达式入门(1)总结笔记
- javascript学习笔记2-正则表达式入门
- Python爬虫入门笔记:正则表达式
- 30分钟入门正则表达式 学习笔记
- 正则表达式学习笔记 Chapter01--入门
- 正则表达式入门经典|学习笔记(一)
- Linux笔记——正则表达式入门及应用
- Perl语言入门笔记 第七章 漫游正则表达式王国
- 廖雪峰python学习笔记15.正则表达式入门
- Linux基础入门(六) --学习笔记-正则表达式
- 正则表达式入门
- 正则表达式[入门]
- 正则表达式入门
- Android中px与dip,sp的转化
- Java开发中的23种设计模式详解 .
- Win7关闭休眠的方法
- android:点击popupwindow以外区域 popupwindow自动消失
- 黑马程序员——(二)数据类型
- 正则表达式 入门笔记
- hasattr函数
- VBA里常用单词
- 【Android】封装一个简单好用的打印Log的工具类
- FFmpeg深入分析之零-基础
- Android 初始化Setup Wizard——Provision
- Java中获取键盘输入值的三种方法
- iOS 中 SQLite3的一些语句
- char *s 和 char s[] 的区别