`

正则表达式语法笔记(转)

阅读更多

正则表达式语法 
\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开发时看正则表达式方便点

    python 正则表达式语法学习笔记

    正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串...本文重点给大家介绍python 正则表达式语法。 The special characters are:  “.” M

    正则表达式学习笔记

    正则表达式语法语义,可以轻松自如看懂每个正则表达式的含义,在开发中也很容易在网上搜一些可以看得懂的正则。

    Shell正则表达式学习笔记

    正则表达式是用于描述字符排列和匹配模式的一种语法规则。它主要用于字符串的模式分割、匹配、查找及替换操作。 二、正则表达式与通配符 1. 正则表达式 用来在文件中匹配符合条件的字符串,正则表达式是“包含匹

    超全的js正则表达式整理笔记

    var reCat = new RegExp("cat", "gi"); //RegExp构造函数可以...元字符是表达式语法的一部分,在正则表达式中用到的所有元字符有:{ [ ( \ ^ $ | ) ] } ? * + –  如匹配一个问号:var reQMark = /\?/; 或 var reQMark

    《Python网络爬虫与信息提取》第三周 网络爬虫之实战 学习笔记(一)Re(正则表达式)库入门

    (3)正则表达式语法实例 (4)经典正则表达式实例 (5)匹配IP地址的正则表达式  3、Re库的基本使用 (1)Re库介绍 (2)正则表达式的表示类型 (3)Re库主要功能函数 (4)re.search(pattern, string, flags=0) ...

    js正则表达式学习笔记

    正则表达式的创建:包含在一对斜杠之间的字符(直接量语法) 例如: var pattern = /s$/; // 创建一个正则来匹配所有以字母s结尾的字符串,并赋值给pattern 一 、字符类 将直接量字符单独放进方括号内就组成了...

    PHP正则表达式笔记与实例详解

     正则表达式是用于描述字符排列和匹配模式的一种语法规则。它主要用于字符串的模式分割、匹配、查找及替换操作。  1. 用途:匹配、查找、替换、分割  2. php提供了两套正则表达式函数库  *1. Per

    JavaScript高级程序设计(第3版)学习笔记12 js正则表达式

    需要指出的是,这里只是总结了正则表达式的常用的且比较简单的语法,而不是全部语法,在我看来,掌握了这些常用语法,已经足够应对日常应用了。正则表达式不只是应用在ECMAScript中,在JAVA、.Net、Unix等也有相应...

    JavaScript 学习笔记(十四) 正则表达式

    RegExp类 RegExp对象的构造函数可以带一个或两... //正则表达式字面量使用Perl风格的语法 alert&#40;reCat.test(sToMatch&#41;); //outs “true” exec&#40;&#41;方法 有一个字符串参数,返回一个数组。数组中的第一个

    全国计算机等级考试二级python的学习笔记

    - Python正则表达式:正则表达式的基本语法和应用场景。 - 文本数据处理:字符串常用操作方法。 4. Python高级特性 - Python迭代器和生成器:迭代器协议、生成器函数和生成器表达式。 - Python函数式编程:Lambda...

    JS学习笔记(全)

    javascript学习笔记,包括基本语法、面向对象、正则表达式、dom的所有操作

    前端学习笔记_js.txt

    前端学习笔记_js.txt,包括正则表达式的语法规则。js即javascript。 没有js常见API的测试部分。

    c#入门学习笔记

    c#入门学习笔记:含基本数据类型,语法,多线程,正则表达式,委托,XML

    python24期全套视频编程课程百度网盘

    4. 正则表达式:介绍正则表达式的基本语法、匹配模式、替换等操作。 5. 网络编程:介绍Python的网络编程、socket编程、TCP/UDP协议等知识。 6. 多线程编程:介绍Python的多线程编程、线程的创建、同步、锁等知识。...

    Python Xpath 的使用

    正则表达式 笔记整理 Python requests 模块 在用 Python 实现爬虫时,可以使用 requests 库访问资源,然后用正则表达式提取信息。 但是,这里会有一些繁琐,因为正则表达式的书写是比较严格的,万一有一个地方写错了...

    jQuery表单课堂笔记

    jQuery的定义/特点: jQ的语法结构; 选择器: jQuery事件 jQuery方法 正则表达式 RegExp对象 validity属性

    java语言程序设计 java编程笔记 由浅入深的笔记 共32份 全套资源.rar

    【完整课程列表】 API集合.docx clone.docx Date日期.docx GC垃圾回收机制.docx instanceof运算符.docx io.docx java基础关键字.docx java命名和数据类型.docx java序列化.docx ...正则表达式.docx 总结.docx

Global site tag (gtag.js) - Google Analytics