美文网首页
正则表达式

正则表达式

作者: 樱桃小白菜 | 来源:发表于2021-11-09 18:33 被阅读0次

正则表达式

主要是用来描述、匹配字符串的规则(公式)。

作用

字符串的替换和 匹配

使用

  • 创建一个正则表达式

方法一

var patt = new RegExp(pattern, modifiers);
// 括号内 前面为表达式 后面为修饰符
//表达式用来定义搜索条件
//修饰符用来限定搜索规则

方法二

var patt = /pattern/modifiers;
// 同上 /.../内为正则表达式 后面是修饰符
修饰符

正则表达式有六个可选参数 (flags) 允许全局和不分大小写搜索等。这些参数既可以单独使用也能以任意顺序一起使用, 并且被包含在正则表达式实例中。

修饰符 描述
i 执行对大小写不敏感的匹配
g 执行全局匹配(查找所有的匹配项,而非在找到第一个匹配项后停止)
m 执行多行匹配
s 允许使用.匹配换行符
u 使用 Unicode 码的模式进行匹配
y 执行“粘性”搜索,匹配从目标字符串的当前位置开始

修饰符的使用

let str = "HELLO World"
alert(str.match(/o/)) // o
alert(str.match(/o/i)) // O
alert(str.match(/o/ig)) // O,o

限定符(量词)

限定符用来指定正则表达式的一个给定组件必须要出现多少次才能满足匹配

字符 描述
n+ 匹配任何包含至少一个 n 的字符串。
n* 匹配任何包含零个或多个 n 的字符串。
n? 匹配任何包含零个或一个 n 的字符串。
n{X} 匹配包含 X 个 n 的序列的字符串。
n{X,Y} 匹配包含 X 至 Y 个 n 的序列的字符串。
n{X,} 匹配包含至少 X 个 n 的序列的字符串。
n$ 匹配任何结尾为 n 的字符串。
^n 匹配任何开头为 n 的字符串。
?=n 匹配任何其后紧接指定字符串 n 的字符串。
?!n 匹配任何其后没有紧接指定字符串 n 的字符串。

在n{X,Y}中,n表示待匹配的项,可以是一个字符或一个整体,X为0或者正整数,Y为正整数,且Y>X。

  • 例子
let str = ["00000abcdccccc","123456","00000000","0qwesda00"]
let reg = /0*/
let arr = new Array
str.map(item => {
 if(reg.test(item)){
   arr.push(item)
 }
})
alert(arr)
//  let reg = /0*/ 00000abcdccccc,123456,00000000,0qwesda00
// let reg = /000+/  00000abcdccccc,aa00000000
//  let reg = /0{5,}/ "00000abcdccccc","00000000"
  • 扩展: 非贪婪的匹配

一般情况下正则表达式都是进可能多的去匹配,在后面添加 ? 就是尽可能少的匹配(惰性匹配)

let str = "000000000000000000"

str.match(/0+/)  //000000000000000000
str.match(/0+?/)  //0

反斜杠(/

  • 特殊字符前用 表示用字符本身
  • 非特殊字符前用 表示字符为特殊字符
  • 场景:输入名称只能是 五个汉字 或 10个英文字母 可以混用
^[\u4e00-\u9fa5a-zA-Z]{5,10}$

参考

再也不怕看不懂正则表达式了-掘金
菜鸟教程

相关文章

  • 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/wenmzltx.html