美文网首页
正则表达式

正则表达式

作者: 三省吾身_9862 | 来源:发表于2021-10-21 17:13 被阅读0次

匹配一个字符用法

表达式 说明 例子
[] 匹配到[]里罗列到的任何一个字符,就算匹配到 [a-z678]匹配a-z678这些字符中的任意一个; /[456]/.test('1472') = true;匹配到了4,不是要匹配456,是其中一个,一个!!!
\d 匹配一个数字
\D 匹配一个非数字
\s 匹配一个空格、tab、换行
\S 匹配一个非空白符
\w 匹配一个字母、数字、下划线,等价于 [A-Za-z0-9_]
\W 匹配一个非字母、数字、下划线,等价于 [^A-Za-z0-9_]
. 匹配一个任意字符,除了换行符(\n)不能匹配

字符个数限制

  • 放到 匹配一个字符用法 的字符后面,针对的是"前一个"字符;例如:
var reg = /^vue+$/; +针对的是"前一个"e,不是前面的vue;vueeeeee是true;vuevue是false
var reg = /^(vue)+$/; 这样+针对的是vue,vueeeeee是false;vuevue是true
表达式 说明 例子
? 0或1个
* 0或多个
+ 1或多个
{n} n个
{n, m} n到m个
{n, m} n到m个
{n, } n到多个

\b,匹配有边界的单词

var reg = /\bmaster\b/;
reg.test('women.master-qita') // true 
reg.test('womenmasterqita') // false

匹配字符 和 匹配个数 组合使用

var reg = /\d/; 在字符中,只要匹配到一个数字就算true
var reg = /^\d$/; 在字符中,只能有一个数字
var reg = /^\d{1,9}$/; 在字符中,只能有数字,并且1到9个
var reg = /^\d[a-z]{1,9}$/; 在字符中,开头 1个数字,紧接着[a-z]可以1到9个 结尾
var reg = /\d[a-z]{1,9}/; 在字符中有一段,1个数字紧接着[a-z]可以1到9个, 就算true
var reg = /\d{2}[a-z]{1,9}/; 在字符中有一段,2个数字紧接着[a-z]可以1到9个, 就算true

逻辑匹配

表达式 说明 例子
| var reg = /.jpg|.png/; var reg= /.(c|a)ss$/
() 子表达式,分组 捕获一组数据
(?:表达式) 非捕获分组 想用分组来切割表达式,但又不想捕获数据
.*? 取消贪婪 把?放到 字符个数限制 后面,是取消贪婪;放到 匹配一个字符 后面,是个数限制
\n 分组回溯,引用第n个分组 /<(\w+)>(.?)</\1>/.test('123<font>提示</div>') ; /<(\w+)>(.?)</\1>/.test('123<font>提示</font>')
(?=表达式) 正向先行断言:(?=表达式)写在匹配字符的后面,指在某个位置向右看,表示所在位置右侧必须能匹配表达式 例子1:/喜欢(?=你)/.test('我喜欢你');喜欢后面必须是你 ;例子二: /(?=.?[a-z])(?=.?[A-Z]).{8,}/ 这段正则表达式规定了匹配的字符串中必须包含至少一个大写和小写的字母,至少8位
(?!表达式) 反向先行断言(?!表达式)写在匹配字符的后面;作用是保证右边不能匹配到表达式 例子1:/喜欢(?!你)/.test('我喜欢你');喜欢后面不是你 ;例子2:/@(?!qq.com)/ 编写正则表达式匹配不是qq邮箱的数据;例子3:/^(?!http://).{2,16}/ 不是 http:// 开头的字符串,2-16位字符
(?<=表达式) 正向后行断言:(?<=表达式)写在匹配字符的前面,指在某个位置向左看,表示所在位置左侧必须能匹配表达式 /(?<=王)\S+/.test('菲菲 王菲菲') 匹配王姓同学的名字
(?<!表达式) 反向后行断言:(?<!表达式)写在匹配字符的前面,指在某个位置向左看,表示所在位置左侧不能匹配表达式 /(?<!$)$[^$]+$(?!$)/.test('a = a^2'); 匹配一个$符号中的数据

相关文章

  • Linux命令行与Shell脚本编程大全-shell正则表达式

    本章内容: 定义正则表达式 了解基本正则表达式 扩展正则表达式 创建正则表达式 定义正则表达式 正则表达式是你定义...

  • 正则相关

    正则表达式基本语法 正则表达式常见字符 正则表达式特殊字符 正则表达式数量词 正则表达式边界匹配 正则表达式逻辑或...

  • 正则表达式系列-1

    正则表达式系列-1正则表达式系列-2正则表达式系列-3正则表达式系列-4 什么是正则表达式 正则表达式就是用事先定...

  • 正则表达式

    正则表达式 - 教程正则表达式 - 简介正则表达式 - 语法正则表达式 - 元字符正则表达式 - 运算符优先级正则...

  • Python基础入门 - 正则表达式与综合实战

    1. 初识正则表达式 1.1 介绍 步骤介绍正则表达式入门及应用正则表达式的进阶正则表达式案例 1.2 正则表达式...

  • Java正则表达式参考

    Java正则表达式入门 java正则表达式应用 深入浅出之正则表达式(一) 深入浅出之正则表达式(二) 正则表达式...

  • 正则表达式

    正则表达式 正则表达式就是记录文本规则的代码 正则表达式常用的元字符 正则表达式常用的限定符 正则表达式举例:这里...

  • Python爬虫(十)_正则表达式

    本篇将介绍python正则表达式,更多内容请参考:【python正则表达式】 什么是正则表达式 正则表达式,又称规...

  • python正则表达式

    本篇将介绍python正则表达式,更多内容请参考:【python正则表达式】 什么是正则表达式 正则表达式,又称规...

  • 正则表达式

    了解正则表达式基本语法 能够使用JavaScript的正则对象 正则表达式简介 什么是正则表达式 正则表达式:用于...

网友评论

      本文标题:正则表达式

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