正则表达式语法
\b 代表单词的开头或结尾,也就是单词的分界处 比如\bhi\b
. 匹配除了换行符以外的任意字符
* 表示任意数量(可能是0次)
\d 匹配任意数字
- 只作为连字号
{n} 表示前面的字符必须连续重复匹配n次
\s 匹配任意的空白符,包括空格,制表符(Tab),换行符,中文全角空格等。
\w 匹配字母或数字或下划线或汉字
+ 匹配重复1次或更多次
^ 匹配字符串的开始
$ 匹配字符串的结束 比如:^\d{5,12}$ 表示为必须为5位到12位数字
{n,m} 重复的次数不能少于n次,不能多于m次
? 重复零次或一次
{n,} 重复n次或更多次 比如: \(?0\d{2}[) -]?\d{8}。匹配(010)88886666,或022-22334455,或02912345678
\W 匹配任意不是字母,数字,下划线,汉字的字符
\S 匹配任意不是空白符的字符
\D 匹配任意非数字的字符
\B 匹配不是单词开头或结束的位置
[^x] 匹配除了x以外的任意字符
[^aeiou] 匹配除了aeiou这几个字母以外的任意字符
| 把不同的规则分隔开
[] 自定义字符
(exp) 匹配exp,并捕获文本到自动命名的组里
(?<name>exp) 匹配exp,并捕获文本到名称为name的组里,也可以写成(?'name'exp)
(?:exp) 匹配exp,不捕获匹配的文本,也不给此分组分配组号
(?=exp) 匹配exp前面的位置
(?<=exp) 匹配exp后面的位置
(?!exp) 匹配后面跟的不是exp的位置
(?<!exp) 匹配前面不是exp的位置
(?#comment) 这种类型的组不对正则表达式的处理产生任何影响,用于提供注释让人阅读 比如:2[0-4]\d(?#200-249)|25[0-5](?#250-255)|[01]?\d\d?(?#0-199)。
*? 重复任意次,但尽可能少重复
+? 重复1次或更多次,但尽可能少重复
?? 重复0次或1次,但尽可能少重复
{n,m}? 重复n到m次,但尽可能少重复
{n,}? 重复n次以上,但尽可能少重复
(?'group') 把捕获的内容命名为group,并压入堆栈
(?'-group') 从堆栈上弹出最后压入堆栈的名为group的捕获内容,如果堆栈本来为空,则本分组的匹配失败
(?(group)yes|no) 如果堆栈上存在以名为group的捕获内容的话,继续匹配yes部分的表达式,否则继续匹配no部分
(?!) 零宽负向先行断言,由于没有后缀表达式,试图匹配总是失败
\ 这是引用府,用来将这里列出的这些元字符当作普通的字符来进行匹配。
\< \> 匹配词(word)的开始(\<)和结束(\>)。
\( \) 将 \( 和 \) 之间的表达式定义为“组”(group),并且将匹配这个表达式的字符保存到一个临时区域(一个正则表达式中最多可以保存9个),它们可以用 \1 到\9 的符号来引用。
IgnoreCase(忽略大小写) 匹配时不区分大小写。
Multiline(多行模式) 更改^和$的含义,使它们分别在任意一行的行首和行尾匹配,而不仅仅在整个字符串的开头和结尾匹配。(在此模式下,$的精确含意是:匹配\n之前的位置以及字符串结束前的位置.)
Singleline(单行模式) 更改.的含义,使它与每一个字符匹配(包括换行符\n)。
IgnorePatternWhitespace(忽略空白) 忽略表达式中的非转义空白并启用由#标记的注释。
RightToLeft(从右向左查找) 匹配从右向左而不是从左向右进行。
ExplicitCapture(显式捕获) 仅捕获已被显式命名的组。
ECMAScript(JavaScript兼容模式) 使表达式的行为与它在JavaScript里的行为一致。
分享到:
相关推荐
正则表达式的基本语法,主要用于javascript开发时看正则表达式方便点
正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串...本文重点给大家介绍python 正则表达式语法。 The special characters are: “.” M
正则表达式语法语义,可以轻松自如看懂每个正则表达式的含义,在开发中也很容易在网上搜一些可以看得懂的正则。
正则表达式是用于描述字符排列和匹配模式的一种语法规则。它主要用于字符串的模式分割、匹配、查找及替换操作。 二、正则表达式与通配符 1. 正则表达式 用来在文件中匹配符合条件的字符串,正则表达式是“包含匹
var reCat = new RegExp("cat", "gi"); //RegExp构造函数可以...元字符是表达式语法的一部分,在正则表达式中用到的所有元字符有:{ [ ( \ ^ $ | ) ] } ? * + – 如匹配一个问号:var reQMark = /\?/; 或 var reQMark
(3)正则表达式语法实例 (4)经典正则表达式实例 (5)匹配IP地址的正则表达式 3、Re库的基本使用 (1)Re库介绍 (2)正则表达式的表示类型 (3)Re库主要功能函数 (4)re.search(pattern, string, flags=0) ...
正则表达式的创建:包含在一对斜杠之间的字符(直接量语法) 例如: var pattern = /s$/; // 创建一个正则来匹配所有以字母s结尾的字符串,并赋值给pattern 一 、字符类 将直接量字符单独放进方括号内就组成了...
正则表达式是用于描述字符排列和匹配模式的一种语法规则。它主要用于字符串的模式分割、匹配、查找及替换操作。 1. 用途:匹配、查找、替换、分割 2. php提供了两套正则表达式函数库 *1. Per
需要指出的是,这里只是总结了正则表达式的常用的且比较简单的语法,而不是全部语法,在我看来,掌握了这些常用语法,已经足够应对日常应用了。正则表达式不只是应用在ECMAScript中,在JAVA、.Net、Unix等也有相应...
RegExp类 RegExp对象的构造函数可以带一个或两... //正则表达式字面量使用Perl风格的语法 alert(reCat.test(sToMatch)); //outs “true” exec()方法 有一个字符串参数,返回一个数组。数组中的第一个
- Python正则表达式:正则表达式的基本语法和应用场景。 - 文本数据处理:字符串常用操作方法。 4. Python高级特性 - Python迭代器和生成器:迭代器协议、生成器函数和生成器表达式。 - Python函数式编程:Lambda...
javascript学习笔记,包括基本语法、面向对象、正则表达式、dom的所有操作
前端学习笔记_js.txt,包括正则表达式的语法规则。js即javascript。 没有js常见API的测试部分。
c#入门学习笔记:含基本数据类型,语法,多线程,正则表达式,委托,XML
4. 正则表达式:介绍正则表达式的基本语法、匹配模式、替换等操作。 5. 网络编程:介绍Python的网络编程、socket编程、TCP/UDP协议等知识。 6. 多线程编程:介绍Python的多线程编程、线程的创建、同步、锁等知识。...
正则表达式 笔记整理 Python requests 模块 在用 Python 实现爬虫时,可以使用 requests 库访问资源,然后用正则表达式提取信息。 但是,这里会有一些繁琐,因为正则表达式的书写是比较严格的,万一有一个地方写错了...
jQuery的定义/特点: jQ的语法结构; 选择器: jQuery事件 jQuery方法 正则表达式 RegExp对象 validity属性
【完整课程列表】 API集合.docx clone.docx Date日期.docx GC垃圾回收机制.docx instanceof运算符.docx io.docx java基础关键字.docx java命名和数据类型.docx java序列化.docx ...正则表达式.docx 总结.docx