正则基础知识-程序员宅基地

技术标签: regex  js  正则表达式  

正则 RegExp:由相关元字符和修饰符组成的一个规则,匹配 验证和捕获(只用来处理字符串)
可以理解为两个斜杠中间包含一些内容就是正则

元字符:/元字符/ 两个斜杠之间包起来的内容

正则:它就是用来处理字符串的一个规则;

●正则匹配:
编写一个规则,验证某个字符串是否符合这个规则,正则匹配使用的是test方法
●正则捕获:
编写一个规则,在一个字符串中把复合规则的内容都获取到 正则捕获使用的方法 正则的exec方法、字符串中的split、replace、match等方法都支持正则

正则创建
● 字面量 var reg = /a\d+/ig;
● 实例 var reg = new RegExp (“a\d+”,“ig”);
注意:一个杠的它以为是字符
实例创建中 \d=>\d (特殊元字符要加 两个斜杠 )

任何一个正则都是由 元字符和修饰符 组成的

元字符
1、特殊元字符
\ 转义字符 转换成本来的意思
. 任意字符 除了 \n(换行符)
\d 0到9之间任意一个数字 等价于[0-9]
\D 除了0到9之间的数字
\b 匹配边界符 ‘123 a12’ / \b \d / 边上是0到9之间的数匹配
\B 非边界 ‘123 a12’ / \B \d / 边上不能是0到9之间的数匹配
\w 数字 字母 下划线_中的任意一个字符 等价于[0-9 a-z A-Z]
\W 除了\w
\n 换行符
\s 空白符
\S 非空白符
[xyz] x或y或z中的任意一个
[^xyz] 除了x或y或z中的任意一个
x|y x或者y [x|y|z]
[a-z] a到z中的任意一个 是一个范围
[^a-z] 除了a到z中的任意一个

2、量词元字符
(谁在它们前面 谁就出现…次)(出现多次必须是连续的 eg:aaaaaa)
* 出现0到多次
? 出现0或1次 可有可无
+ 出现1到多次 至少出现1次
{n} 出现n次 例如{2} 只能出来2次 (连续)
{n,} 出现n到多次 到少出现n次 多了不限
{n,m} 出现n到m次 最少出现n次 最多出现m次

3、其它元字符
^ 以什么开头
$ 以什么结尾
( ) 分组:捕获将大正则分成小正则 改变优先级
?: 只匹配不捕获
?= 正向预查 例如 ?=\d+ 只捕获后面跟着一堆数的前面字符
?! 负向预查

4、普通元字符 (代表本意)
除了以上这些 其它都是普通元字符 例如 reg=/abc/

修饰符 (写在斜杠外面的叫做修饰符)
i:ignoreCase 忽略大小写
g:global 全局
m:multiline 多行匹配 (可以把每一行的开头匹配到)

                         eg:<br>换行 01行 hello 
                                      02行 你好 (01 02行 都能匹配到)

test 用来验证字符是否符合正则规则 返回布尔值

1.png

一个\d代表一位数 (只能是…位数)\d\d 包含两位数 还需是连续的 才能匹配 ^\d\d$ 只能是两数字

2.png

验证的字符串 要以a作为开头或者以z作为结尾
3.png
4.png

转译字符只对他最右侧的起作用
5.png

两个斜杠转阿转 最后他俩都成了普通的杠
三个斜杠转阿转 最后前俩成了普通的傻杠 最后一个是\d 杠生赢家
6.png

   var reg=/^18|19$/;//只要以18开头  或是以19结尾的都符合  都是true     
   var reg1=/^(18|19)$/;//用括号包起来  改变了优先级   只能是18或者19  

var reg=/^(18|19)$/;
如果用括号包起来 只有18 和 19符合
小括号分组的作用:
● 改变一些默认的优先级
● 分组引用
● 分组捕获

8.png

9.png
原本是先看左边再看右边 加了括号改变优先级 直接看括号中间

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_39669919/article/details/116264700

智能推荐

Window主机加固_有汇编加固win-程序员宅基地

文章浏览阅读524次。win+r 输入cmd进入命令提示符用dir调出所有任务cd 可以进入一个指定目录cd .. 穿越或返回上一层文件名有空格不连贯就是蓝标 箭头所指,没有空格的就是红色所指它们的区别在于有空格是有双引号的,没有空格是没有的切换盘的话 直接盘后面加冒号还有一种方法 在该盘输入cmdmd 创建文件夹 dir是查看目录以下dir /a 显示隐藏文件dir /b 只显示现在文件夹与文件夹名称命令+/? 可以知..._有汇编加固win

MobaXterm远程登录Ubuntu(详细教程)_mobaxterm ubuntu-程序员宅基地

文章浏览阅读1w次,点赞27次,收藏98次。MobaXterm远程登录Ubuntu(详细教程)_mobaxterm ubuntu

KEIL中HardFault_Handler的调试方法(stm32x0xx_it.c)_keil hardfault lr fffffd-程序员宅基地

文章浏览阅读1.8k次,点赞5次,收藏16次。 在用Keil对STM32的程序进行仿真时程序有时会跑飞,停止仿真程序会停在HardFault_Handler函数里的死循环while(1)中。这说明STM32出现了硬件错误。 STM32出现硬件错误可能有以下原因: (1)数组越界操作; &nb._keil hardfault lr fffffd

ASP.NET Core 面试题整理_.net core面试-程序员宅基地

文章浏览阅读6.5k次,点赞10次,收藏161次。希望通过这些面试题巩固一下基础知识,加油,骚年!_.net core面试

Web 访问的利器 noVnc_novnc网页版-程序员宅基地

文章浏览阅读1.4w次,点赞2次,收藏15次。NoVncNoVnc Web 端的Vnc软件、可以直接通过网页访问远程主机,采用 HTML5、WebSockets、Canvas和 JavaScript 实现,被普遍用在各大云平台中。​ 访问 Vnc 服务、需要做 tcp 到websockts的转化 才能在Html中看出来。网页就是一个客户端、类似 Windows 下的 vncviewer , 只是此时填的不是裸露的 VNC 服务的..._novnc网页版

部署爱心代码_hbuilder爱心代码-程序员宅基地

文章浏览阅读2k次。爱心代码_hbuilder爱心代码

随便推点

Windows实现开机自启动指定程序的几种方式_windows自启动-程序员宅基地

文章浏览阅读3.8k次。在某些应用场景,出于操作便捷性,会需求在系统启动进桌面时就自动运行指定程式,免去了人工再次手动打开,提高了不少便捷性。放入后,可在任务管理器【Ctrl+shift+esc】或引导启动管理窗口【msconfig】确认查看是否添加成功。打开注册表编辑器,依次找到如下路径,找到shell值,双击打开,将数值数据区域填入要启动的程序路径,确认保存即可。【WIN+R】调出运行窗口,输入如下指令,打开启动文件夹,将要启动的程序或脚本文件,放入文件夹即可。开始菜单或F3,搜索【任务计划程序】,找到打开。_windows自启动

linux进程间全局变量,linux进程间通信-程序员宅基地

文章浏览阅读981次。进程间通信:每个人进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓存区,进程1将数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提供的这种机制叫做进程间通信(IPC)。管道:一种最基本的IPC机制,由pipe函数创建。#includeint pipe(int filedes[2]);调用pipe函数..._进程内的全局变量

Unicode和UTF-8之间的转换_unicode 与 utf8 互转-程序员宅基地

文章浏览阅读1.8w次,点赞6次,收藏25次。 通过这几天的研究,终于明白了Unicode和UTF-8之间编码的区别。Unicode是一个字符集,而UTF-8是Unicode的其中一种,Unicode是定长的都为双字节,而UTF-8是可变的,对于汉字来说Unicode占有的字节比UTF-8占用的字节少1个字节。Unicode为双字节,而UTF-8中汉字占三个字节。注: Unicode编码目前规划的总空间是17个平面,0x0000 至 0x..._unicode 与 utf8 互转

关键字static/const的作用-程序员宅基地

文章浏览阅读49次。这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用:1)在函数体内,一个被声明为静态的变量在这一函数被调用过程中维持其值不变(该变量存放在静态变量区)。2)在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。3)在模块内,一...

头歌平台(EduCoder)—— 数据挖掘算法原理与实践:k-近邻_实现knn算法头歌-程序员宅基地

文章浏览阅读9.1k次,点赞9次,收藏36次。第1关:knn算法概述任务描述本关任务:使用python实现方法,找出目标样本最近的k个样本。编程要求根据提示,在右侧编辑器Begin-End处补充代码,实现topK方法。测试说明程序会调用你实现的方法,找出目标样本最近的k个样本的标签。如目标样本最近的5个样本为0,0,1,1,1则返回列表[0,0,1,1,1]。若返回结果与真实结果一致则视为通关。第2关:动手实现knn算法任务描述本关任务:使用python实现knn算法,并对手写数字进行识别。相关知识为_实现knn算法头歌

解决Win系统下执行exe文件一闪而过的问题_exe文件打开一闪就没了-程序员宅基地

文章浏览阅读7.6k次,点赞7次,收藏15次。大家好!我最近在使用Windows系统时遇到了一个常见的问题,就是执行exe文件时窗口一闪而过,无法正确运行程序。经过一番搜索和尝试,我找到了解决这个问题的方法,现在与大家分享一下。首先,这个问题通常是由于某些错误配置或冲突引起的。_exe文件打开一闪就没了