资讯专栏INFORMATION COLUMN

我的正则表达式

WalkerXu / 595人阅读

摘要:基本概念摘自元字符匹配除换行符以外的任意字符匹配字母或数字或下划线或汉字匹配任意的空白符匹配数字匹配单词的开始或结束匹配字符串的开始匹配字符串的结束示例匹配以字母开头的单词先是某个单词开始处,然后是字母然后是任意数量的字母或数字,最后是单词

基本概念

摘自http://deerchao.net/tutorials/regex/regex.htm#negation

元字符

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

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

s匹配任意的空白符

d匹配数字

匹配单词的开始或结束

^匹配字符串的开始

$匹配字符串的结束
示例:

(1) aw 匹配以字母a开头的单词——先是某个单词开始处(),然后是字母a,然后是任意数量的字母或数字(w),最后是单词结束处()
(2) d+匹配1个或更多连续的数字
(3) w{6} 匹配刚好6个字符的单词。
(4) ^d{5,12}$ 匹配有5到12个字符的QQ

重复信息,表示0个到多个字符

*重复零次或更多次

+重复一次或更多次

?重复零次或一次

{n}重复n次

{n,}重复n次或更多次

{n,m}重复n到m次

字符类,表示一个字符

[0-9]表示一个0到9的数字,和d同义

[a-z0-9A-Z_]表示一个数字或者大小写字母或者_

(?0d{2}[)-]?d{8}表示0个或者1个(,接着是一个0,接着是两个数字,接着是0个或者1个)或者-,最后是8个数字

分枝条件 |

匹配原理,从左至右,匹配成功之后就不会往后匹配
(1) 0d{2}-d{8}|0d{3}-d{7} 0开始两个数字,然后-,然后是8个数字;或者0开始之后三个数字,然后-,然后是7个数字
(2) (?0d{2})?[- ]?d{8}|0d{2}[-]?d{8} 以0个或者1个(开始,然后是一个0,然后是两个数字,然后是0个或者1个),然后是8个数字;或者0开始,然后是两个数字,然后是0个或者1个-,然后是8个数字
(3) d{5}-d{4}|d{5}

分组 ()

(1) (d{1,3}.){3}d{1,3} 粗略的匹配IP地址,首先1-3个数字加.重复三次,然后是1-3个数字
(2) ((2[0-4]d|25[0-5]|[01]?dd?).){3}(2[0-4]d|25[0-5]|[01]?dd?) 精细的匹配IP地址,使用()|组合

反义

W 匹配任意不是字母,数字,下划线,汉字的字符

S 匹配任意不是空白符的字符

D 匹配任意非数字的字符

B 匹配不是单词开头或结束的位置

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

[^aeiou]匹配除了aeiou这几个字母以外的任意字符

常见正则表达式

身份证 /(^d{15}$)|(^d{18}$)|(^d{17}(d|X|x)$)/

邮件 /^w+([.-]?w+)@w+([.-]?w+)(.w{2,3})+$/

邮件二 /^(w)+(.w+)*@(w)+((.w+)+)$/;

^(0|1-9*)$ 只能输入0和非0打头的数字

^[-+]?d+(.d+)?$ 只能输入实数

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/91310.html

相关文章

  • 【实践】玩转正则达式+JS正则处理函数

    摘要:前言写这篇文章不是空穴来风,最近一个礼拜写了一个简单的脚本,用来处理上千个文件,以便于在某些特定字符的周围添加标记,先说一下我这个脚本使用场景主要是来识别中文具体做什么,之后会单独写一篇文章,此处只提该脚本作用,同时为不同的文件类型,包括, 前言 写这篇文章不是空穴来风,最近一个礼拜写了一个简单的nodejs脚本,用来处理上千个文件,以便于在某些特定字符的周围添加标记,先说一下我这个脚...

    DoINsiSt 评论0 收藏0
  • 这次不会说我的正则教程没写全了吧??

    摘要:负向先行断言负前瞻语法作用匹配非表达式的前面内容,不返回本身。我们来测试一下输出结果嗯,这就是我们想要的了。 由于上一篇文章:《正则表达式真的很骚,可惜你不会写!!!》 发表之后,不少网友说怎么没讲断言没讲反向没讲贪婪....,甚至有老铁说我裤子都脱了你就给讲了一点,哈哈哈,好吧,趁着山竹台风被迫放假在家的时间,把正则剩余的一些知识点给讲一下,希望大家喜欢,希望这次脱裤子阅读的老铁可以...

    zhunjiee 评论0 收藏0
  • 正则系列——JavaScript正则达式入门心得

    摘要:对前端来说,使用的场景不多,但是像微信端的对话系统的表情包,就使用到了一个特定的规则。我是一个前端,工作年了,现在失业,想进入腾讯工作,这是我的联系方式这个正则虽 我发现有个别字符被这个编辑器给刷掉了,但是灰色区域显示正常,以灰色区域代码为准 什么玩意? 在我刚开始学习编程的时候,就听过正则了,也听说正则很牛逼,懂正则的更牛逼。但是苦于没有人指点,也没有使用正则的场景,自己看教程又懵逼...

    DevWiki 评论0 收藏0
  • 正则系列——JavaScript正则达式入门心得

    摘要:对前端来说,使用的场景不多,但是像微信端的对话系统的表情包,就使用到了一个特定的规则。我是一个前端,工作年了,现在失业,想进入腾讯工作,这是我的联系方式这个正则虽 我发现有个别字符被这个编辑器给刷掉了,但是灰色区域显示正常,以灰色区域代码为准 什么玩意? 在我刚开始学习编程的时候,就听过正则了,也听说正则很牛逼,懂正则的更牛逼。但是苦于没有人指点,也没有使用正则的场景,自己看教程又懵逼...

    genefy 评论0 收藏0
  • 正则达式详解 js

    摘要:程序员的正则表达式,医生的处方和道士的鬼画符,都是利器。其实,正则表达式是一门语言,有自己独特的语法,还拥有自己的解释器。但是,如果正则表达式是动态的,是根据变量来定义的,那么,只能使用第二种构造函数的方式。 前言 作为一个程序员,要出去装逼,手中必备的技能就是正则表达式。程序员的正则表达式,医生的处方和道士的鬼画符,都是利器。 在js中,很多的场景需要去使用到它(毕竟,js刚刚诞生的...

    fredshare 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<