正则表达式_概要

原创 2017年01月03日 15:35:02

标准字符集合

大/小写,大写时相反的意思
\d:任意一个数字0-9
\w:任意一个字母数字下划线
\s:空格、制表符、换行符
.:匹配任意一个换行符以外的符号,若要匹配所有用[\s\S]
转义字符: \

自定义字符集合

[2-8]: 2~8中的任意一个数字

1.特殊符号被包含到中括号中失去特殊含义除了^,-
2.标准字符集合,除小数点外,如果被包含于中括号,自定义字符集合将包含该集合

量词

修饰匹配次数
{n} : 重复n次
{m,n} : 至少重复m,之多重复n次
{m,} :至少重复m次
? : 匹配表达式0次或1次(0~1次)
+ : 至少1次
* : 0次或任意多次


1.只作用于前面的一个表达式,前面的多个表达式可以用()扩在一起,表示一个整体
2.默认贪婪模式,次数越多越好
3.非贪婪模式,在量词后加上?

字符边界

匹配的不是字符而是位置,符合某种条件的位置
^ 与字符串开始的地方匹配(例:^a)
(b)
b 匹配一个单词边界,前面的字符和后面的字符不全是\w

匹配模式

忽略大小写模式:
忽略大小写

单行模式:
整个文本看做一个字符串,只有一个开头和结尾。使用.(小数点)可以匹配包括换行符在内的任意字符

多行模式
使每一行都是一个字符串,每行都有开头和结尾
如果还想获得字符串的开头和结尾元素,可以用\A\Z (例:a\A b\Z)

选择符和分组

|:
():捕获组在被修饰匹配次数时,括号中的表达式可以作为整体被修饰。取匹配结果时,括号中的表达式匹配到的内容可以单独得到
(?:Exception):非捕获组,不保存()中子表达式匹配的内容,匹配后失效

反向引用(\num)

每一对()会分配一个编号,使用()的捕获根据左括号的顺序从1开始自动编号,对分组已捕获的字符串进行引用。(按左括号数计数,起始编号为1)
如:

(a\d?b)\1

是两个ab之间有0/1的数字的结果拼接在一起:abab,a1ba1b

预搜索(零宽断言)

对位置的匹配

(?=exp):断言自身出现的位置后面能匹配exp
(?<=exp):断言自身出现的位置前面能匹配exp
(?!exp):断言自身出现的位置后面不能匹配exp
(?>!exp):断言自身出现的位置前面能匹配exp

满足exp表达式的结果不计入总结果中。
例:
ab(?=ab)
表示ab后面还有ab,即abab

实例:
固定电话: 0\d{2,3}-\d(7,9)
手机号: 1[35789]\d{9}
电子邮件:[\w-]+@[a-z0-9A-Z]+(.[a-zA-Z]){1,2}

固定电话的格式:
在国外拨打到中国的正确格式是:0086+当地区号+电话号码
在国内的拨打正确格式是:当地区号+电话号码
3位区号8位号码或者4位区号7位号码

版权声明:本文为博主原创文章,转载请注明出处。

正则表达式

  • 2017年12月15日 14:45
  • 41KB
  • 下载

正则表达式个人学习总结

  • 2017年12月06日 10:50
  • 318KB
  • 下载

温故知新 javascript 正则表达式--(不错的正则的DEMO推荐要学习正则的同学看一下哦)

go :http://www.cnblogs.com/libinqq/archive/2008/07/31/1257699.html 很长时间没看 正则表达式了,碰巧今天用到,温故知新了一把 看书学...

Java正则表达式使用demo

  • 2017年12月03日 23:07
  • 79KB
  • 下载

利用正则表达式搜索富文本框中的图片链接

项目中有一需求,删除一条资讯[新闻],要求删除资讯相关的标题图片和资讯内容中插入的图片。资讯内容采用富文本框实现。 界面如下: 代码如下: /// /// 删除资讯 ...

QTP高级5_QTP中使用正则表达式

  • 2017年12月12日 15:12
  • 16KB
  • 下载

正则表达式菜鸟教程4元字符

正则表达式 - 元字符 下表包含了元字符的完整列表以及它们在正则表达式上下文中的行为: 字符 描述 \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:正则表达式_概要
举报原因:
原因补充:

(最多只允许输入30个字)