`

学习笔记——正则表达式

阅读更多

JavaEye挂了。。设计模式的学习有些停滞,正好把想看的正则表达式看了

正则表达式主要作用是用来描述字符串对象的,还可以用来匹配字符串(我感觉最多的就是各种验证,查找替换中的实际应用)

 

正则表达式语法:

     字符与字符串

直接用字母和数字 /a/ /b/ /abc/ /123/

还有反斜杠加特殊字符 \n \t \( \o等等

     字符类

[…] 可以匹配一个字符 [abc] [a-z] [A-Z]等等 只能匹配一个

[^…] 除去特定字符 [^abc] [^a-z]等等

特别的有

. 除换行,终止符之外的所有字符

\w 所有ASCII单字字符 (注意小写 大写是除所有外 相当于^

\d 数字

\s 空白符

     重复类 限定符

指定字符要重复的次数

{n} {n,m} {n,} 相当于一个范围 重复n n-m 至少n

特别的

? 01 相当于{0,1}

+ 至少1 相当于{1,}

0或多次 {0,}

     选择符

 abc|asd|qaz 注意从左到右只会匹配第一个

     定位符

^ 表示开头

$ 表示结尾

还有一些\b \B (?=p) (?!p)

     分组

(…) (?...) 将一个字符串看做整体分组 后者不记忆与该组合所匹配的内容 其他无异 配合限定符使用

     引用

\n 表示第n个分组 比如\1 \2

/[‘”][^’”]*[‘”]/表示一个字符串 但是它包含了开头结尾或者开头结尾的

/[‘”][^’”]*\1/则解决了该问题

所以引用不是单纯复制匹配模式,而是重复内容

     标志

i 不区分大小写

g 全局模式 不是找到一个就结束

m 多行匹配模式

用得比较多的ig 用法是加在表达式后 /abc/i  /abc/gi /abc$/m

 

以上都是语法,下面记录点例子

●邮编:

首先都是数字 可以用\d

然后是6 所以是\d{6} 但是这样也会同123456789这些大于6位的匹配

所以加上限定符^\d{6}$

     身份证号码(18位):

17位是数字 \d{17}

1位是数字或 [\d|X]

同样加上限定符^\d{17}[\d|X]$

     验证Email地址:

用户名部分 由字母,数字,下划线等组成 [\w-_]+

@部分 @

域名部分 可以用.作为分隔符,除最后一部分,都由字母,下划线等组成

[\w-]+\.表示有.的部分 [\w-]+表示只含字母的部分

完整的就是([\w-]+\.)+[\w-]+

最终 Email验证的正则表达式 ^[w-_]+@([\w-]+\.)+[\w-]+$

 

补充上来一个常用正则表达式

http://flytosea.iteye.com/blog/763908

 

韩神推荐的正则教程 http://deerchao.net/tutorials/regex/regex.htm#lookaround

 

分享到:
评论

相关推荐

    MLDN学习笔记 —— 正则表达式

    NULL 博文链接:https://zisefeiniao.iteye.com/blog/376874

    【python】——正则表达式(csdn)————程序.pdf

    在学习笔记中,示例代码展示了如何使用这些元字符和方法。比如,`re.findall('[a-zA-Z]{3,5}',a)`用于提取长度为3到5的字母单词。`re.findall('excel*',a)`和`re.findall('excel.?',a)`分别演示了贪婪和非贪婪模式的...

    正则表达式.7z

    本压缩包"正则表达式.7z"包含了一份"笔记.txt",这份笔记详细介绍了正则表达式的概念和使用技巧,对于后续学习正则表达式或解决相关问题有着极高的参考价值。 首先,我们需要了解正则表达式的基石——元字符。元...

    Linux学习笔记【博文整理系列】

    学习linux的笔记,发到博文了,鉴于文档方便保存和查阅,发出来,免费的哈 ...Linux笔记——正则表达式入门及应用 Linux笔记——linux进程 Linux笔记——SVN命令总结 rpm&yum包管理命令总结 The end wklken

    Python正则表达式re模块简明笔记.docx

    #### Python中的正则表达式模块——re模块 在Python中,处理正则表达式的标准库是`re`模块。该模块提供了丰富的功能来创建和操作正则表达式,包括模式的编译、搜索、替换等。 ##### re模块的核心概念与功能 - **...

    小菜升级笔记之手撸正则表达式——Python & JavaScript

    最后,学习正则表达式需要时间和实践。理解元字符、边界定位符、预查以及如何在Python和JavaScript中使用这些工具,是提升数据处理能力的关键。通过不断地练习和应用,你可以逐步掌握这项强大的技能。

    Python 中文正则表达式笔记

    ### Python 中文正则表达式知识点 ...通过本篇文章的学习,我们可以更好地理解和应用Python中的正则表达式来处理中文字符。希望这些知识点能够帮助大家更加高效地使用正则表达式来完成各种文本处理任务。

    又一篇正则表达式学习笔记

    ### 正则表达式高级技巧详解 #### 一、边界符 `\b` 在正则表达式中,`\b` 是一个非常重要的边界匹配符,它用于匹配单词的开头或结尾。这里的“单词”通常指的是由字母、数字或下划线组成的一串字符,并且前后分别...

    《机器学习》学习笔记——3.3

    本笔记主要围绕《机器学习》课程中的3.3章节,探讨对率回归的基本原理、实现方法以及在Python中的应用。 对率回归的核心在于它的激活函数——对数几率函数(Logit Function),也称为Sigmoid函数。Sigmoid函数将...

    php课程笔记——韩顺平.rar

    2. 正则表达式:讲解正则表达式的语法和使用,用于复杂字符串匹配和替换。 六、文件与目录操作 1. 文件读写:fopen、fwrite、fread、fclose等函数的使用,进行文件的读写操作。 2. 目录操作:mkdir、rmdir、chdir、...

    四、pink老师的学习笔记——元素的显示与隐藏

    1. 元素的显示与隐藏 目的 让一个元素在页面中消失或者显示出来 场景 ... 1.1 display 显示(重点) display 设置或检索对象是否及如何显示。 display: none 隐藏对象 display:block 除了转换为块级元素之外,同时还有...

    《unix shell 实例精解》学习笔记

    通过上述内容,我们不仅了解了 Unix Shell 的基本概念和功能,还深入学习了正则表达式的应用方法。这些知识点对于掌握 Unix 操作系统的核心技能至关重要,有助于提高日常工作效率和解决问题的能力。

    Java的2本经典

    本文将深入探讨两本关于Java的经典书籍——《Java学习笔记》和《Java中正则表达式使用方法详解》,以及它们涵盖的重要知识点。 《Java学习笔记》是一本为初学者和进阶者量身定制的教材,旨在全面系统地介绍Java编程...

    当年我学PHP时整理的学习笔记

    9. **正则表达式.php**:涵盖了正则表达式的语法和使用,如何在PHP中进行模式匹配和替换。 10. **运算符.php**:介绍了PHP中的算术、比较、逻辑、赋值和位运算符,以及它们在实际编程中的应用。 综上所述,这份学习...

    JS文本笔记

    博主刘传洋提供的两个笔记文件——"JS中的正则笔记_刘传洋.txt"和"JS笔记_刘传洋.txt",将更详细地探讨JS的正则表达式和其他重要概念,是学习和深入理解JS的好资源。通过阅读这些笔记,读者可以巩固基础知识,掌握...

    awk学习笔记

    ### awk学习笔记 #### 1. awk简介 awk是一种强大的编程语言,主要用于Linux/Unix环境下的文本和数据处理。它可以处理来自标准输入、一个或多个文件,甚至是其他命令的输出结果。由于支持用户自定义函数和动态正则...

    javascript 学习笔记(六)浏览器类型及版本信息检测代码

    这个函数通过正则表达式来检测三种主流浏览器——Internet Explorer (IE)、Firefox和Chrome,并在页面上显示这些信息。 检测IE浏览器时,通过正则表达式 `/msie\s*\d\.\d/` 检测是否包含“msie”以及后续的版本号...

    ExtJS4中文教程2 开发笔记 chm

    ExtJS4学习笔记(七)---带搜索的Grid(SearchGrid) ExtJS4学习笔记(三)---VBox的使用 ExtJS4学习笔记(九)---ExtJS4 EditGrid(可编辑的Grid) ExtJS4学习笔记(二)---HBox的使用 ExtJS4学习笔记(五)---Grid分页 ExtJS4...

    linux下AWK学习笔记

    =`)、逻辑运算符(如`&&`, `||`)、算术运算符(如`+`, `-`, `*`, `/`, `%`)以及字符串运算符(如`~`,匹配正则表达式,`!~`,不匹配正则表达式)。 ### 6. 记录和域 #### 6.1 记录 在AWK中,每一行称为一个记录...

Global site tag (gtag.js) - Google Analytics