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

  • 什么是正则表达式

在编写处理字符串的时候,经常会有查找符合某些复杂规则的字符串的需要,正则表达式就是用来描述这些规则的工具,换句话说,正则表达式就是记录文本规则的代码。

  • 正则表达式语法递进学习

(1)       关于大小写,正则表达式处理工具会有控制的机制,人为可调,后面会讲。

(2)       \b

这是属于正则表达式里面的所谓元字符。看看应用,假设想要在某段文本中查找”men”这个字符串。若是没有使用\b,那么结果是这样的:

如果使用了\b的话,结果就是这样:

\b匹配的是单词边界,不匹配任何字符。其中的单词是指另外一个元字符\w所规定的字符串,具体有哪些呢?

这个是看情况的,在支持ASCII码的语言中,\w那就是等价于【a-A-9_】;而在Unicode的语言中,默认情况下,除了以上那些,还包括汉字,全角数字等。

(3)       “.” “*”

如果要查找以”men”开头,以”Lucy”结尾的字符串,怎么做呢,可以如下操作,结果如下:

“.” 和”*”都是属于元字符。

“.”匹配除了换行符以外的任意一位字符。

“*”不代表字符和位置(不要把它和windows系统里面的查询的通配符论比),在正则表达式里面,它表达的是*前边的内容可以连续重复使用任意次以上。

上述图片里面的意思就是以”men”开头,”Lucy”结尾,中间有任意数量但是不能有换行的字符的字符串。所以图片蓝色框框内的字符串没有连起来,因为换行了。”*”可以匹配的是0个或者更多个,有一个符号作用与*相同,那就是”+”,但是它匹配的是1个或者更多个。

(4)       “\d” “-“

若是想要查找数字字符串怎么办?使用”\d”。

“\d”也是元字符,表示一位数字(0~9)。

“-”不属于元字符,只用来匹配自己,所以可以用来匹配中横线或者减号。

如下图所表示:

但是输入这么多的符号,非常的麻烦,于是,另外的一个方法解决这个麻烦:

相必已经看到,在\d的后面多了{2},其中2就表示是数目。

(5)       测试工具,这里使用的测试工具是从网上下载的RegexBuddy,可以用来做正则表达式的练习和测试。

(6)       \w

再来说说\w,前面已经说过,\w表示的是一个匹配单词的元字符,\w也可以用{数字}来表示这个单词有几位。例如\b\w{4}\b:匹配4个字符的单词。

(7)       其它常用元字符


代码


详解


\s


匹配任意的空白符


^


匹配字符串的开始


$


匹配字符串的结束

说明:\s匹配的空白符包括空格,制表符(tab)换行符,中文全角空格。

符号^和$类似于\b,下面是一个实例:

其中,{5,12}是{5}这种形式的扩展用法,{5}表示必须是5个,而{5,12}则是表示可以为5~12个数,重复方法小结:


代码


详解


*


重复0次或者更多次


+


重复1次或者以上



重复0次或者1次


{n}


重复n次


{n,}


重复n次或者更多次


{n,m}


重复n次到m次

时间: 2024-08-12 01:36:09

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

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

正则表达式学习笔记 如果我们问那些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

正则表达式学习笔记

/*新手的个人见解,勿以标准作量*/ ...待更新 米哥跟我说:"正则表达式说白了就是字符匹配." 以下是我学习当中的笔记. 正则表达式(Regular Expression)是由普通字符(例如字符 a 到 z)以及特殊字符(称为"元字符")组成的文字模式. 在搜索文本时要匹配的一个或多个字符串.正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配.这就是正则的功能! 正则表达式由:定界符.原子.元字符.模式修改符组成. 定界符:一般用"//&q

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

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