正则表达式总结

作者: 饥人谷_王欢 | 来源:发表于2015-12-27 17:18 被阅读0次

元字符

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

\w 匹配字母数字下划线或者中文

\d 匹配数字

\s 匹配空白

\b 匹配开始或者结束

^ 匹配字符串的开始

$ 匹配字符串的结束

常用的限定符

* 重复零次或更多次

+ 重复一次或更多次

? 重复零次或一次

{n} 重复n次

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

{n,m} 重复n到m次

常用的反义代码

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

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

\D匹配任意非数字的字符

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

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

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

常用分组语法

捕获

(exp)匹配exp,并捕获文本到自动命名的组里

(?exp)匹配exp,并捕获文本到名称为name的组里,也可以写成(?'name'exp)

(?:exp)匹配exp,不捕获匹配的文本,也不给此分组分配组号

零宽断言

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

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

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

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

注释

(?#comment)这种类型的分组不对正则表达式的处理产生任何影响,用于提供注释让人阅读

懒惰限定符

*?重复任意次,但尽可能少重复

+?重复1次或更多次,但尽可能少重复

??重复0次或1次,但尽可能少重复

{n,m}?重复n到m次,但尽可能少重复

{n,}?重复n次以上,但尽可能少重复

常用正则表达式总结

中文字符  [\u4e00-\u9fa5]

QQ号 ^[1-9]\d{4,9}$

手机号 ^1[345789]\d{9}$

email  ^.+@.+$

          \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

身份证号 

1、15位  (1)1~6位为地区代码

               (2)7~8位为出生年份(2位),9~10位为出生月份,11~12位为出生日期

               (3)第13~15位为顺序号

^[1-9]\d{7}(0\d|1[0-2])([012]\d|3[01])\d{3}$

2、18位

1-2位省、自治区、直辖市代码;3-4位地级市、盟、自治州代码;5-6位县、县级市、区代码;7-14位出生年月日,比如19670401代表1967年4月1日;15-17位为顺序号,其中17位(倒数第二位)男为单数,女为双数 18位为校验码,0-9和X。

^[1-9]\d{5}[1-2]\d{3}(0\d|1[0-2])([012]\d|3[01])\d{3}(\d|[Xx])$

URL网址 [a-zA-z]+://[^\s]*

IP地址 (2[0-4]\d|25[0-5]|\[01]?\d?\d?\.){3}(2[0-4]\d|25[0-5]|\[01]?\d?\d?)

匹配特定数字:

^[1-9]\d*$    //匹配正整数

^-[1-9]\d*$   //匹配负整数

^-?[1-9]\d*$   //匹配整数

^[1-9]\d*|0$  //匹配非负整数(正整数 + 0)

^-[1-9]\d*|0$   //匹配非正整数(负整数 + 0)

^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$   //匹配正浮点数

^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$  //匹配负浮点数

^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$  //匹配浮点数

^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$   //匹配非负浮点数(正浮点数 + 0)

^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$  //匹配非正浮点数(负浮点数 + 0)

匹配特定字符串:

^[A-Za-z]+$  //匹配由26个英文字母组成的字符串

^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串

^[a-z]+$  //匹配由26个英文字母的小写组成的字符串

^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串

^\w+$  //匹配由数字、26个英文字母或者下划线组成的字符串

相关文章

  • vue(2) - 收藏集 - 掘金

    javascript 正则表达式总结 - 前端 - 掘金为什么要使用正则表达式 正则表达式通过由普通字符和特殊字符...

  • 2020-03-28 正则表达式基础与高级

    史上最全正则表达式语法,文末附常用表达式! 正则表达式的回溯 总结:回溯越少效率越高

  • 正则表达式优化

    正则表达式优化——《精通正则表达式》总结 [TOC] 第4章:表达式的匹配原理 引擎 DFA (Determini...

  • 正则表达式语法

    正则表达式简单语法总结 一、什么是正则表达式 从概念上来说,正则表达式也是一门小巧而精炼的语言,它可以用来简化检索...

  • 人人都看得懂的正则表达式教程

    人人都看得懂的正则表达式教程正则简单总结 正则表达式30分钟入门 RegExr http://regex.zj...

  • 正则表达式

    js正则表达式总结 正则表达式的字符匹配量词横向模糊匹配var regex = /ab{2,5}/gg 表示全局匹...

  • Python学习总结【连载】(十五)

    Python学习总结【连载】(十五) 2018.07.02 Juttachen 概述 53 认识正则表达式 54 ...

  • Javascript 中的正则表达式 - 基本介绍及其语法

    正则表达式强悍无比,在不同的语言中会有些许差异,本文主要总结在 Javascript 中的正则表达式; javas...

  • JavaScript 中的正则表达式

    一、正则表达式声明 1、通过构造函数定义 2、通过直接量定义 (较为常用) 3、正则表达式的组成 (总结)由一些 ...

  • 正则表达式01

    正则表达式根据李炎灰视频教程总结 创建正则表达式有两种方式字面量的方式let box = 'box';let pa...

网友评论

    本文标题:正则表达式总结

    本文链接:https://www.haomeiwen.com/subject/ytolhttx.html