正则表达式学习笔记

/*新手的个人见解,勿以标准作量*/

...待更新

米哥跟我说:“正则表达式说白了就是字符匹配。” 以下是我学习当中的笔记。

正则表达式(Regular Expression)是由普通字符(例如字符 a 到 z)以及特殊字符(称为"元字符")组成的文字模式。

在搜索文本时要匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。这就是正则的功能!

正则表达式由:定界符、原子、元字符、模式修改符组成。

定界符:一般用"//",也可以用别的比如"{}"、"||"

原子:最小的匹配单位,就是我们要找的字符里最小的单位。写在定界符当中。

元字符:修饰原子,拓展原子功能和限定功能。比如“/7{5}/”中{5}就是用来修饰原子7的,{5}就是一个元字符。元字符要写在定界符里面。/7{5}/:的意思是说原子7的旁边必须要有5。

模式修订符号:修饰正则表达式,对模式(正则)修正,卸载定界符的外面。

普通字符

  普通字符包括没有显式(程序员显而易见的方式,故称“显式”,反之难见,一般对编译器称之为“隐式”)指定为元字符的所有可打印(显示器看得到的)不可打印字符(显示器看不到)。这其中就包括了所有大小写字母、数字、标点符号和一些其他符号。

非打印字符

  非打印字符也可以是正则表达式的组成部分。下表列出了表示非打印字符的转义序列:

字符 描述
\cx 匹配由x指明的控制字符。例如, \cM 匹配一个 Control-M 或回车符。x 的值必须为 A-Z 或 a-z 之一。否则,将 c 视为一个原义的 ‘c‘ 字符。
\f 匹配一个换页符。等价于 \x0c 和 \cL。
\n 匹配一个换行符。等价于 \x0a 和 \cJ。
\r 匹配一个回车符。等价于 \x0d 和 \cM。
\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。
\S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。
\t 匹配一个制表符。等价于 \x09 和 \cI。
\v 匹配一个垂直制表符。等价于 \x0b 和 \cK。

特殊字符

^     匹配输入字符串的开始位置。
-     代表负号
?     匹配前面的子表达式零次或一次。
[1-9]   匹配1-9个数字
\d      匹配一个数字字符。
*     匹配前面的子表达式任意次。
$       匹配输入字符串的结束位置。

时间: 2024-12-14 18:17:45

正则表达式学习笔记的相关文章

正则表达式学习笔记---揭开正则表达式的神秘面纱

正则表达式学习笔记 如果我们问那些UNIX系统的爱好者他们最喜欢什么,答案除了稳定的系统和可以远程启动之外,十有八九的人会提到正则表达式:如果我们再问他们最头痛的是什么,可能除了复杂的进程控制和安装过程之外,还会是正则表达式.那么正则表达式到底是什么?如何才能真正的掌握正则表达式并正确的加以灵活运用?本文将就此展开介绍,希望能够对那些渴望了解和掌握正则表达式的读者有所助益. 入门简介 简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具.我们可以在几乎所有的基于UNIX系统的工具中找到

正则表达式学习笔记系列----1

正则表达式是一种字符模式,在匹配文本文件的内容的时候,使用一组特殊的符号,匹配出我们想要的内容. 为什么用正则表达式 搜索(匹配)出我们想要的看到的精简的内容. 正则表达式的元字符: 元字符 功能 样例 匹配样例 ^       行首定位符           /^root/ 匹配以root开头的行 $         行尾定位符           /bash$/ 匹配以bash结尾的行 .         匹配单个字符       /l.ve/ 匹配love,live等等,在l和v中间有一个

JavaScript正则表达式学习笔记之一 - 理论基础

自从年前得空写了两篇文章之后就开始忙了,这一忙就是2个月??.当时信誓旦旦说的定期写篇博客的计划也就泡汤了??,不过好在最近有空,顺便总结一下这两个月遇到的几个问题.第一个问题就是项目中用到了一些正则才发现之前被自己忽略的正则是时候补一补了.恰逢今天周六??,就把自己学习JavaScript正则表达式的笔记整理成文,写了这篇关于正则表达式理论基础的文章,希望本文能对有需要的同学提供帮助.号外:本文相对基础,大神请忽略??. 一. 基本概念 正则表达式是用于匹配字符串中字符组合的模式. 一种几乎可

#正则表达式# 学习笔记

以下是我学习正则表达式过程中的学习笔记:详细学习教程推荐正则表达式30分钟入门教程 特殊代码/元字符: \b:单词的开始或结尾. 例如:正则表达式为male,则male或abcmale22都能匹配到.         正则表达式为\bmale\b,则abcmale22不会被匹配到 . :除了换行符以外的任意字符    * :前面的字符可以是任意数量(可以是0次) +:前面的字符可以是任意数量(1次或更多次)      例如:.* 可匹配任意数量不包含换行符的字符      例如:a*可匹配任意数

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

正则表达式经过前面的学习,已经有了个基本的认识,这里还有关于平衡组和递归匹配的相关知识没有提到,以后再补充学习,暂时这些. 这四篇学习笔记是看了<正则表达式30分钟入门教程>实验得来的,原文的地址:http://www.oschina.net/question/12_9507,感谢原文作者. 这篇文章写得很好,我这篇学习笔记,也是对这篇文章的理解,不同的是,我多了操作.

JavaScript正则表达式-学习笔记(不定期更新)

JavaScript权威指南学习笔记,禁止转载! 8.正则表达式 在常见的字符串检索或替换中,我们需要提供一种模式表示检索或替换的规则. 正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则的字符串. 使用: /\d\d\d/.test("123");  //true new RegExp("Bosn").test("Hi,Bosn");  //true 正则基础: . 任何字符(除换行符以外) /-/.test('[email prote

计算机要从娃娃抓起---------正则表达式(学习笔记一)

这篇主要是将正则,学习新东西,我记得老师说过一个好方法,要带着疑问去学习,不能光看理论,你要一直想着这个东西是干嘛的,怎么用,用在哪,我觉得的说的很好.所以在看的时候要一直想着这些问题. 这是本喵的学习笔记可能有很多不足之处,希望大家能多提意见! 开始吧,上课! 什么是正则表达式? 正则:也叫规则,能让计算机读懂人类的规则. ( 注意:正则都是都是操作字符串的) 正则的写法: var re =/a/;     这里写两个//的话系统会认为这是注释,所以最好写点东西. var re = new R

30分钟入门正则表达式 学习笔记

原文 有一个问题,在此记录: 在负向零宽断言里面,匹配q后面不是u的单词. 使用 \b\w*q(?!u)\w*\b 不能解决 qsqu这种情况. 即qs已经消耗了负向零宽断言,但是仍然存在qu的这种情况. 学习笔记: \b #元字符 只匹配一个位置 \bhi\b #精确查找hi这个单词 \bhi\b.*\bLucy\b #hi后面不远处跟着一个Lucy 0\d{2}-\d{8} #匹配012-12345678电话号码 元字符 表1.常用的元字符 代码 说明 . 匹配除换行符以外的任意字符 \w

正则表达式 学习笔记(一)

被领导吐槽了 什么都不会 好吧 半夜发我如何学习<正则表达式> 我不能辜负领导厚望 好好学吧 囧 什么是正则表达式? 通俗的讲,正则表达式是一种查找以及字符串替换操作.正则表达式在文本编辑器中广泛使用,比如正则表达式被用于: 检查文本中是否含有指定的特征词 找出文中匹配特征词的位置 从文本中提取信息,比如:字符串的子串 修改文本 基础语法 1.点"."  含义:匹配任意一个字符 示例:查询字符串中c+任意字符+t 示例:查询字符串中c+.+t,这里注意 这里的正则表达式 可