正则入门

正则入门


  1. 元字符及反义
  2. 重复
  3. 分枝
  4. 分组
  5. 后向引用
  6. 零宽断言
  7. 贪婪与懒惰

一、元字符及反向引用

元字符(metacharacter),可以理解为匹配的最小单元

\b 匹配一个位置,它的前一个字符和后一个字符不全是\w

. 匹配除了换行符以外的任意字符

\d 匹配一位数字

\s 匹配任意的空白符(空格、TAB、换行符、中文全角空格等)

\w 匹配字母或数字或下划线或汉字等

^ 匹配字符串的开始

$ 匹配字符串的结束

反向引用,匹配不是XX的字符

\S 匹配任意不是空白符的字符 \W 匹配任意不是字母数字或下划线或汉字等

\D 匹配任意不是数字的字符

\B 匹配不是单词(正则意义中的单词)开头或结束的位置

[^x] 匹配除了x以外的任意字符

[^aeiou] 匹配除了aeiou以外的任意字符

二、重复

* 重复次数大于等于0

+ 重复次数大于等于1

? 重复次数为0/1

{n} 重复次数为n

{n,} 重复次数大于等于n

{n,m} 重复次数大于等于n小于等于m

三、分支

| 也就是或

四、分组

()

五、后向引用

1、先用()指定一个子表达式,第一个出现的分组分组号为1,第二个为2

2、后向引用用于重复搜索前面某个分组匹配的文本

\b(w+)\b\s\1\b

六、零宽断言

(?=exp) 匹配exp前面的位置

(?<=exp) 匹配exp后面的位置

(?!exp) 匹配后面跟的不是exp的位置

(?<!exp) 匹配前面不是exp的位置

七、贪婪与懒惰

a.*b 匹配aabab 结果:aabab

a.*?b 匹配aabab 结果:aab

原文地址:https://www.cnblogs.com/nadech/p/9188790.html

时间: 2024-10-10 12:50:32

正则入门的相关文章

俗话:学好正则表达式,走遍天下都没事!最详细的正则入门教程!

简介 正则表达式(regular expression)是可以匹配文本片段的模式.最简单的正则表达式就是普通字符串,可以匹配其自身.比如,正则表达式 'hello' 可以匹配字符串 'hello'.进群:125240963   即可获取数十套PDF哦! re 模块 在 Python 中,我们可以使用内置的 re 模块来使用正则表达式. 私信小编007即可获取数十套PDF哦! 使用 compile 函数将正则表达式的字符串形式编译为一个 Pattern 对象 通过 Pattern 对象提供的一系列

正则入门小随

学习正则表达式的最好方法是从例子开始,理解例子之后再自己对例子进行修改,实验.下面给出了不少简单的例子,并对它们作了详细的说明. 假设你在一篇英文小说里查找hi,你可以使用正则表达式hi. 这几乎是最简单的正则表达式了,它可以精确匹配这样的字符串:由两个字符组成,前一个字符是h,后一个是i.通常,处理正则表达式的工具会提供一个忽略大小写的选项,如果选中了这个选项,它可以匹配hi,HI,Hi,hI这四种情况中的任意一种. 不幸的是,很多单词里包含hi这两个连续的字符,比如him,history,h

正则入门简易

表1.常用的特殊代码 .  匹配除换行符以外的任意字符 \w 匹配字母或数字 \s 匹配任意的空白符 \d 匹配数字 \b 匹配单词的开始或结束 ^ 匹配字符串的开始 $ 匹配字符串的结束 表2.常用的量词 * 重复零次或更多次 + 重复一次或更多次 ? 重复零次或一次 {n} 重复n次 {n,} 重复n次或更多次 {n,m} 重复n到m次 表3.常用的反义代码 \W 匹配任意不是字母和数字的字符 \S 匹配任意不是空白符的字符 \D 匹配任意非数字的字符 \B 匹配不是单词开头或结束的位置 [

转--python之正则入门

原文地址 1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大.得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不同:但不用担心,不被支持的语法通常是不常用的部分.如果已经在其他语言里使用过正则表达式,只需要简单看一看就可以上手了. 下图展示了使用正则表达式进行匹配的流程:  正则

正则表达式(入门)

定锚点,去噪点,取数据 1.入门:正则字符 关于正则字符,很多文章都会讲到,足足有一篇文章才能描述清楚,我这里就不多说,对于我,平时,常用的有: . 匹配不包括换行的任意字符,在php的s修饰符下面可以匹配换行,如$pattern='#<div>(.*?)</div>#s';就可以匹配div内容有换行的数据. \s 空格.tab * 匹配零个或多个 + 匹配一个或多个,即至少一个 \ 转义 一个特殊字符前加\就表示转义,说明把它当普通字符用 [] 单字符取一个,比如[abc]会匹配

正则表达式 学习参考 推荐入门者看

正则表达式(Regular Expression)是一种匹配模式,描述的是一串文本的特征. 正如自然语言中"高大"."坚固"等词语抽象出来描述事物特征一样,正则表达式就是字符的高度抽象,用来描述字符串的特征. 正则表达式(以下简称正则,Regex)通常不独立存在,各种编程语言和工具作为宿主语言提供对正则的支持,并根据自身语言的特点,进行一定的剪裁或扩展. 正则入门很容易,有限的语法规则很容易掌握,但是目前正则的普及率并不高,主要是因为正则的流派众多,各种宿主语言提供

[AaronYang]那天有个小孩跟我说Js正则

按照自己的思路学习Node.Js 随心出发.突破正则冷门知识点,巧妙复习正则常用知识点 本篇博客地址:http://www.cnblogs.com/AaronYang/p/3979710.html 开发准备(AaronYang原味)(看完加20分) 1你需要有个带开发者工具的浏览器,我这里用chrome浏览器 来这里学习,第一也为巩固自己的知识,二来真的很需要它.正则入门简单,高级理解了也简单,但是因为不经常用,所以过段时间也就忘了 跟正则相似作用的操作: 打开电脑,搜索文件,比如 *.doc

从零开始学正则(二)

 壹 ? 引 我在从零开始学正则(一)这篇文章中介绍了正则横向模糊与纵向模糊匹配模式,以及常用的字符组与量词,掌握了这些其实已经算正则入门了.在文尾留下了两个正则问题,请写出匹配24小时制时间与16进制颜色的正则,在学习第二章之前我们先搞定这两个问题. 24小时制时间格式一般是09:30这样,小时的第一位数字可能是[0-2]三种情况之一,当为0,1时,第二位数字可以是[0-9]任意数字,当为2时第二位数字只能是0-3之间的数字.第三位数字只能是0-5之间的数字,最后一位数字只能是0-9之间. 我

从零开始学正则(七:终章)

 壹 ? 引 花了差不多半个月的晚上时间,正则入门学习也步入尾声了,当然正则的学习还将继续.不得不说学习成效非常明显,已能看懂大部分正则以及写出不太复杂的正则,比如帮组长写正则验证文件路径正确性,再如进产品页根据页面地址获取产品id: let pathname = '/webtoprint/dynamicsize-gamebox-2033986.html'; let productId = pathname.match(/\-(\d+)\./)[1]; //2033986 虽然正则都不难,但是相