正则表达式
来源:互联网 发布:将软件添加到磁贴 编辑:程序博客网 时间:2024/06/14 13:32
特殊字符
$ 匹配输入字符串的结尾位置
() 标记一个自表达式的开始和结束位置
. 除换行符“\n”之外的任何单字符
* 匹配前面的子表达式0或多次
+ 匹配前面的子表达式1或多次
? 匹配前面的子表达式0或1次
[] 标记一个中括号表达式的开始和结束位置
\ 将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。
^ 匹配输入字符串的开始位置。如在中括号表达式中使用,则表示不接受该字符集合
{} 标记限定符表达式的开始和结束位置
| 表示或,指明该字符左右表达式之间可有一个选择
注:如需要匹配这些特殊字符,需进行”转义”,即在字符前面加个反斜杠字符’ \’。
限定符
* 匹配前面的子表达式0或多次
+ 匹配前面的子表达式1或多次
? 匹配前面的子表达式0或1次
{n} n是正整数,匹配确定n次
{n,} n是正整数,匹配确定至少n次,’{0,}’等价于’*’, ’{1,}’等价于’+’
{n,m} n和m为正整数且n<=m,匹配确定最少n次,最多m次,’{0,1}’等价于’?’
定位符
^ 匹配输入字符串开始的位置,如果设置了 RegExp 对象的 Multiline 属性,^ 还会与\n 或 \r 之后的位置匹配。
$ 匹配输入字符的结尾的位置,如果设置了 RegExp 对象的 Multiline 属性,$ 还会与\n 或 \r 之前的位置匹配。
\b 匹配一个字边界,即字与空格间的位置
\B 非字边界匹配
注:定位符不能与限定符一起使用。
可查看正则表达式的菜鸟教程:http://www.runoob.com/regexp/regexp-tutorial.html
在线工具:http://c.runoob.com/front-end/854
匹配手机号码:
现有手机号段:
移动号段: 134、135、136、137、138、139、150、151、152、157、158、159、178、182、183、184、187、188
联通号段:130、131、132、145、147、155、156、176、185、186
电信号段:133、153、173、177、180、181、189
虚拟运营商号段:170、171
整理上面的手机号码段可得:
13开头的第三位数字包含0-9,匹配"13[0-9]"
14开头的第三位数字包含4、5,匹配"14[45]"
15开头的第三位数字不包含4的其他9个数字,匹配"15[0-35-9]"
17开头的第三位数字包含0、1、6、7、8,匹配"17[01678]"
18开头的第三位数字包含0-9,匹配"19[0-9]"
最后其他数字就简单了,只有八位数字,包含0-9,匹配" [0-9]{8}$"或"\d{8}$"
因此,手机号码的正则表达式匹配字符串如下所示:
"^(13[0-9]|14[57]|15[0-35-9]|17[01678]|18[0-9])[0-9]{8}$"
或 "^(13[0-9]|14[57]|15[0-35-9]|17[01678]|18[0-9])\d{8}$"
匹配IP地址:
IP地址的格式:[0,255].[0,255].[0,255].[0,255]
这里四段的数字都是0-255之间,这个区间可分为五种情况,如下:
一位数时,可为0到9,即[0,9],匹配”\d”或”[0-9]”;
两位数时,十位数为1到9,个位数为0到9,即[10,99],匹配”[1-9]\d”;
三位数且百位数为1时,十位数与个位数可为0到9,即[100,199],匹配”1\d\d”;
三位数且百位数为2时,十位数为0到4,个位数为0-9,即[200,249],匹配”2[0-4]\d”;
三位数且百位数为2时,十位数为5,个位数为0-5,即[250,255],匹配”25[0-5]”;
因此,IP地址的正则表达式匹配字符串如下所示:
^((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.){3}(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])$
匹配邮箱:
未完待续,抽空补充完整
- 【正则表达式】正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 使用Docker中的mysql
- IO流的使用
- dao层打jar包运行报错 ibatis.binding.BindingException
- Python变量与动态数据类型
- Servlet笔记
- 正则表达式
- Hbase总结,Hbase安装部署,Hbase shell命令
- 禁用鼠标键盘和桌面不显示鼠标指针
- java-jdbc
- Java消息队列--ActiveMq 实战
- android 打电话
- 漫游jedis-RESP通信实现
- 2.A+B——the first step
- js—QQ菜单简单实例