正则表达式的介绍及常用方法

JavaScript 正则表达式详解 正则表达式(Regular Expression,简称 RegEx)是一种强大的文本匹配工具,广泛应用于字符串搜索、替换和验证等场景。 阅读详情


正则表达式

正则表达式介绍

正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。

构造正则表达式的方法和创建数学表达式的方法一样。也就是用多种元字符与运算符可以将小的表达式结合在一起来创建更大的表达式。正则表达式的组件可以是单个的字符、字符集合、字符范围、字符间的选择或者所有这些组件的任意组合。

正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为"元字符")组成的文字模式。模式描述在搜索文本时要匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。

正则表达式语法

1、使用构造方式创建正则表达式
var reg=new RegExp(“正则表达式”,“匹配原则”);

正则表达式的第二个参数可以有两个:

  • i:表示忽略大小写
  • g:表示全局匹配模式

2、还可以使用字面量来创建正则表达式
语法:var reg=/正则表达式/匹配原则 如:var reg=/a/i;

正则表达式的知识点

  • 使用|表示或者的关系,中括号里面的内容也是或者的关系。

    例如:
    [a-z]:任意的小写字母之间是或者的关系
    [A-z]:表示任意字母

  • ^:表示一个字符串以什么开头; $:表示一个字符串以什么结尾

  • [^]: 除了,表示一个字符串里除了某个字符串,其它都满足

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

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

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

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

正则表达式的量词

通过量词可以设置一个内容出现的次数,量词只与它前面的一个内容起作用。

  • { n }:表示正好出现n次
  • { m,n }:表示出现m到n次
  • { m, }:表示出现m次及以上
  • +:表示出现至少一次,相当于{ 1, }
  • *:表示出现0次或多次,相当于{ 0, }
  • ?:表示出现0次或1次,相当于{ 0,1 }

正则表达式中的转义

在正则表达式中使用\ 表示转义,.表示任意字符,在正则表达式中若要判断一个字符串中是否含有.,需要用\ .表示..
注:使用正则表达式的构造函数时,由于它的参数是一个字符串,而\ 是字符串中的转义字符,所以使用 \ 需要用\ \ 代替

正则表达式中的一些表示

\ w:表示任意字母、数字和下划线
\ W:表示除了任意字母、数字和下划线
\ d:表示任意数字
\ D:表示除了任意数字
\ s:表示空格
\ S:表示除了空格
\ b:表示单词边界
\ B:表示除了单词边界

举例介绍:

reg=/\bChild\b/;  //表示Child前后不能有其它的字符
reg=/\BChild\B/;  //表示Child前后必须有其它的字符

使用正则表达式去除字符串中的空格

去除字符串中的前后空格,用""来替换。

  • 去除开头的空格
    var str=" 1a 2b3c 4d5 ";
    str=str.replace(/^\s*/,"");
    console.log(str);

执行结果如下
在这里插入图片描述

  • 去除结尾的空格
    var str=" 1a 2b3c 4d5 ";
    str=str.replace(/\s*$/,"");
    console.log(str);

执行结果如下
在这里插入图片描述

  • 去除开头和结尾的空格
var str=" 1a 2b3c 4d5 ";
str=str.replace(/^\s* || \s*$/g,"");
console.log(str);

执行结果如下
在这里插入图片描述

正则表达式的方法

  1. test()
    该方法的返回值是布尔值,通过该值可以匹配字符串中是否存在于正则表达式相匹配的结果,如果有匹配内容,返回ture,如果没有匹配内容返回false,该方法常用于判断用户输入数据的合法性,比如检验Email的合法性.

基本语法:

  • objReg.test(objStr)
  • objReg 必选项 RegExp对象名称
  • objStr 要进行匹配检测的字符串

举例

  var reg=new RegExp("a","i");    // reg=/a/i;
  reg=/a/i;
  console.log(reg.test("ababc"));   //检查一个字符串里是否有a或者A
  1. split()
    该方法可以将一个字符串拆分为一个数组,方法中可以传递一个正则表达式作为参数,这样方法将会根据正则表达式来拆分字符串,这个方法即使不指定全局匹配,也会全局检索。

举例

var str="1a2b3c4D5F6";   //定义一个字符串str
var result=str.split(/[A-Z]/i);    //通过字母拆分字符串,不区分大小写
console.log(result);

执行结果如下
在这里插入图片描述

  1. search()
    该方法可以搜索字符串中是否含有指定内容,如果搜索到指定内容,则返回第一次出现的索引,如果没有搜索到指定内容,则返回-1.它可以接收一个正则表达式,通过正则表达式去检索字符串,search只会查找第一个。

举例

var str="hello abc hello adc hello afc";
 //搜索字符串中是否含有abc或者adc或者afc
 var result=str.search(/a[A-z]c/);
 console.log(result);

执行结果如下:
在这里插入图片描述

  1. match()
    可以根据正则表达式,从一个字符串中将符合条件的内容提取出来,默认情况下match只会提取出第一个符合条件的内容,找到之后停止检索, 这时候我们可以设置正则表达式为全局匹配模式,这样就会检索所有的内容,可以为一个正则表达式设置多个匹配模式,且顺序无所谓, match()会将匹配到的内容封装到一个数组中,即使只查询到一个内容。

举例

var str="1a2b3c4d5e6f";
var result=str.match(/[A-z]/g);// /[A-z]/gi:两个匹配模式,既全局匹配又忽略大小写
console.log(result);  
console.log(typeof result);     //检测result的类型
console.log(Array.isArray(result));    //检测是否为数组
console.log(result[2]);

执行结果如下:
在这里插入图片描述

  1. replace()
    可以将字符串中的指定内容转换为新内容。接收两个参数:
    1:要被替换的内容
    2:新内容

举例

var str="喵了个咪蹦啥卡拉卡喵了个咪蹦沙卡瞄了拉卡个咪";
var result=str.replace(/喵了个咪/g,"***");      //将字符串中的"喵了个咪"替换为"***"
console.log(result);

执行结果如下:
在这里插入图片描述

《用 R 探索医药数据科学》目录(持续更新,已超 250 万字)|订阅前说明 我们重磅推出《用 R 探索医药数据科学》专栏!本文作为专栏【订阅后首读】的核心内容,堪称开启学习之旅的 “入门钥匙”,也是整个专栏最关键的一篇指引文。文中不仅完整呈现了专栏 9 大核心篇章 + 问答板块的详细目录,更囊括了订阅后必知的核心要点 —— 从阅读设备、实操工具的使用建议,到学习路径、更新规则的清晰说明,再到问题反馈、感悟记录的实用方法,一站式帮你摸清专栏框架、找准学习方向。建议各位订阅者务必认真阅读、吃透内容,这能让你后续的学习更高效、少走弯! 阅读详情

相关推荐

构建面向嵌入式Linux的ARM64交叉编译工具链:从sysroot配置到CMake实战

本文详细介绍了如何构建面向嵌入式Linux的ARM64交叉编译工具链,从sysroot配置到CMake实战。通过分步指导,帮助开发者解决架构不一致问题,提升编译效率,特别适用于树莓派等ARM64设备开发。文章涵盖sysroot机制、环境搭建、CMake配置及常见问题解决方案,是嵌入式开发的实用指南。

weixin_42537142的博客 199

正则表达式完全指南

`(pattern)` - 捕获组,可以通过 \1, \2 等引用。string.match(regex) // 查找匹配项。string.replace(regex) // 替换匹配项。- `\s` - 匹配任意空白字符(空格、制表符、换行符)- `[^abc]` - 匹配除了方括号中字符的任意字符。- `[a-z]` - 匹配 a 到 z 的任意小写字母。- `[A-Z]` - 匹配 A 到 Z 的任意大写字母。- `[abc]` - 匹配方括号中的任意一个字符。

大白菜代码的博客 2368

Token验证绕过 靶场实战

实验介绍 1.漏洞简介 在Web领域基于Token的身份验证随处可见。在大多数使用Web API的互联网公司中,tokens 是多用户下处理认证的最佳方式。 具有以下几点特性: 1)无状态、可扩展 2)支持移动设备 3)跨程序调用 4)安全 2.原理基于Token的验证原理 基于Token的身份验证是无状态的,我们不将用户信息存在服务器或Session中。 NoSession意味着你的程序可以根据需要去增减机器,而不用去担心用户是...

weixin_54771278的博客 2251

正则表达式中的*,+,?以及\w和\W的区别等常见问题的总结

在学习《机器学习实战》时,遇到书中第64页的切分文本部分,涉及到利用正则表达式切分句子的函数split(),刚开始的时候把\w和\W弄混了,所以有点不太理解。通过一些资料了查询,总结一下关于*,+,?的用法,以及\w和\W的区别等问题。 一、切分字符串 (1)用字符串切分: >>> 'a b   c'.split(' ')            ['a', 'b', '', '', 'c'

wl_ss的博客 10万+

CMOS sensor 基础

NA

m0_72053187的博客 1657

使用cutoff包基于最小p值法方法计算最佳截断值(基于LIRI基因数据集) R语言

这个方法在生物学研究中具有重要的意义,能够帮助我们从大规模基因表达数据中准确地找到差异显著的基因。在上述代码中,calculate_p_values函数是一个自定义函数,用于计算差异表达基因的p值。在本文中,我们将介绍如何使用R语言的cutoff包来基于最小p值法方法计算最佳的截断值,以便筛选出差异显著的基因。通过以上步骤,我们成功地使用cutoff包基于最小p值法方法计算了最佳的截断值,并筛选出了差异显著的基因。最后,我们可以根据得到的最佳截断值将基因表达数据集进行筛选,提取出差异显著的基因。

ByteKnight的博客 1291

整理正则表达式

常用正则表达式 1、常用元字符(字符类) . 匹配除“\n”之外的任何单个字符 \w 匹配数字、字母、下划线 \s 匹配任意空白字符(空格、换行、制表符等) \d匹配一个数字字符 \b匹配单词的开始或结束 ^ 匹配字符串的开始 $ 匹配字符串的结束 2、常用元字符(重复类) * 重复0次或更多次==={0,} +重复一次或更多次==={1,} ?重复0次或1次==={0,1}...

Amy_n的博客 1188

【教程4>第1章>第11节】使用MATLAB快速产生批量verilog语句加快FPGA开发

...........如果手动写,那么就非常麻烦,这个时候,我们借助matlab,则可以快速生成上述类型的verilog程序,我们编写如下的MATLAB语句。\n");\n");end。

FPGA/MATLAB学习教程/源码/项目合作开发 1241

正则表达式总结

1.正则表达式简介: 正则表达式是一些具有特殊含义的字符组成的字符串,多用于查找替换符合规则的字符串。 2.元字符: 元字符:有特殊含义的字符 常见的元字符如下: 代码 说明 . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或汉字 \s 匹配任意的空白符 \d 匹配数字 \b 匹配单词的开始或结束 ^ 匹配字符串的开始(在集合字符里[^a]表示非(不匹配)的意思 $ 匹配字符串的结束 示例: (1)\d\

m0_57026595的博客 4488

PCL 基于超体素的点云分割【2024最新版】

点云超体素分割原理介绍、代码实现以及如何做到将每一个超体素内的点进行单独保存而不造成点云缺失的方法。博客长期更新,本文最近一次更新时间为:2024年12月29日。

点云侠的博客 36万+

【第33话:车辆控制】自动驾驶车辆运动学模型推导及详解

自动驾驶车辆的运动学模型以自行车模型为核心,通过状态方程。

一碗白开水一 831

Javascript正则表达式常用方法、属性介绍

Javascript正则表达式常用方法、属性介绍实例化RegExp对象1.方法一:字面量方法var reg = /\bis/g; string.replace(reg, 'IS');2.方法二:构造函数var reg = new RegEpx('/\bis/', 'g');字符类别介绍 字符 等价表 含义 . [^\r\n] 匹配除了换行符和回车符外任意字符 \d [0

zza000000的博客 1009

Unity WebView 插件⭐️(十八)3D WebView 原生2D模式 — Native 2D Mode

Unity中的 浏览器插件:3D WebView,利用好该插件我们可以自己使用Unity打造出一个自定义的多样化浏览器。可以用于2D显示,也可以用于3D空间场景中使用,在PC端、手机端和VR设备等都可以有一个非常好的效果。一起来浏览器插件:3D WebView的专栏学习使用吧!

努力前行,总会成为自己心中的那道光 7640

正则表达式几种常用方法介绍

正则表达式相关方法介绍: 1、exec() 方法是一个正则表达式方法,用于检索字符串中的正则表达式的匹配。 函数返回一个数组中,其中数组中存放匹配的结果;如果未找到匹配,则返回值为null。 2、test() 方法是一个正则表达式方法,用于检测一个字符串是否匹配某个模式, 如果字符串中含有匹配的文本,则返回true,否则返回false。 3、search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相配的子字符串,并返回子串的起始位置。 3.1、search() 方法使用正则表达式

weixin_44740328的博客 5480

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

正则表达式-常用方法介绍

1.什么是正则表达式 正则表达式是字符串匹配工具,他是为了在某些需求下可以更方便、更快速的处理字符串。 import re 2.怎么使用正则处理字符串 python通过提供re模块来支持正则表达式 re.fullmatch(正则表达式,字符串) – 让正则表达式和字符串进行完全匹配,返回匹配结果;如果匹配不成功,返回None 3.怎么写正则表达式 python中正则表达式是放在字符串中,并且这个...

xiaoxiao_plus的博客 708

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Java学习笔记--常用类及其常用方法、JDK5新特性、正则表达式介绍

文章目录object类String类其他类常用方法StringBuffer类JDK5新特性正则表达式Random类其他类常用方法Calendar类 object类 直接输出一个对象的名称,其实就是调用了该对象的toString()方法。 一般会重写toString()方法,输出成员变量的值。 对象名.getClass().getname()会得到类名。 equals()方法默认是比较两个对象的地...

gaishi_hero的博客 372

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

正则表达式注意事项以及常用方法

正则表达式 正则表达式写在js 做验证 做匹配 用符号来描述书写规则:/ 中间写正则表达式 / ^ :匹配开头,$:匹配结尾 ; /^ve/以ve开头的 /ve$/以ve结尾 \d:一个任意的数字 \w:一个任意的数字或字母 ...

weixin_30780221的博客 240

Java常用正则表达式及使用方法

在 Java 中,Pattern和Matcher类是包的核心,用于处理正则表达式。Pattern。

2301_81193552的博客 1210

Python—常用正则表达式方法

文章目录引言1.re.match函数2. re.search方法3.re.match与re.search的区别4.re.sub 引言 re 模块使 Python 语言拥有全部的正则表达式功能 使用group(num) 或 groups() 匹配对象函数来获取匹配表达式。 group(num=0) 匹配的整个表达式的字符串,group() 可以一次输入多个组号,在这种情况下它将返回一个包含那些组所对应值的元组。 groups() 返回一个包含所有小组字符串的元组,从 1 到 所含的小组号。 1.re.

柳杰的博客 646

java正则表达式的语法详解及常用方法

一、实例: 今天在实现一个功能时遇到了这样一个问题,及接口传过来一个字符串,我需要判断它是一个区间还是一段文字并对其做分别处理。这里面的问题就在于我怎么去判断区间,按照数学规律区间可分为以下几种情况:(-∞,+∞),(-∞,M),(-∞,M],(N,+∞),[N,+∞),(N,M),[N,M],(-∞,-N),(-∞,-N],(-N,+∞),[-N,+∞),(-N,-M),[-N,-M]。 怎样把这里的所有情况考虑进来就成了问题的关键。 首先找一下这些区间的共性,咱们可以把区间按位置分为0,1,2,3四个位

qq_41154902的博客 1万+

正则表达式符号特殊详解_常用正则表达式_Java中正则表达式的使用

正则表达式, 字符串的替换与分解 正则表达式 正则表达式主要用于字符串匹配, 由一些具有特殊意义的符号和常规字符组成, 例如: 特殊符号: $ () * + . [] ? \ ^ {} 常规字符组合: \d \D \w \W \s \S \p ...

菜鸡逆袭的博客 7286

为什么要使用正则表达式? 常用的正则表达式大全

为什么要用正则表达: 就是在表单验证时,准确的判断一个字符串是不是某种固定格式。比如邮箱的验证、手机号的验证等。目的是避免恶意用户的乱输入,使表单的收集是我们想要的格式! 什么是正则表达式: 正则表达式就是一个字符串格式的规则。 如何定义正则表达式。 var reg=/正则表达式/; //正则要用双 / / 包 起来 var result=reg.test(“字符串”);//验证字符串是否满足...

Java开发,人工智能,边缘计算,致力于掌握前沿技术 2392

string常用方法

一、string常用方法 valueOf(基础数据类型 b) 将基础类型数据的文本转换为字符串 substring(int beginIndex) 切割原字符串,返回一个新的字符串, beginIndex:表示从下标为几的地方开始切割 replace(char oldChar, char newChar) 返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。 tr

weixin_43477950的博客 1万+

JavaScript之正则表达式的使用方法详细介绍

由于篇幅限制,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!点击【学习资料】即可免费领取!。**[外链图片转存中…(img-NxCJqA0T-1713502499360)][外链图片转存中…(img-VYrxQmVC-1713502499361)]既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

2401_84092360的博客 763

常用正则表达式语法

常用语法 1:匹配多个字符 # 表示匹配3个连续的a var reg = /a{3}/; # 表示匹配3个连续的ab var reg = /(ab){3}/; # 表示b出现1到3次 var reg = /ab{1,3}c/; # 表示b出现3次以上 var reg = /ab{3,}c/; # 表示b至少出现1次 var reg = /ab+c/; # 表示b出现0次或者多次 var reg = /ab*c/; # 表示b出现0次或者1次 var reg = /ab?c/; 2:匹配一个字符

Always-Learning 3978

常用正则表达式—邮箱(Email)

常用正则表达式—邮箱(Email)本文针对有一点正则基础的同学,如果你对正则一无所知,请移步“正则表达式30分钟入门教程”学习。要验证一个字符串是否为邮箱的话,首先要了解邮箱账号的格式。我尝试过在网上找出一个标准的格式,但是很遗憾我没有找到。我也尝试使用RFC标准来判断邮箱的格式,但是也没有结果。网上些博客说不应该使用RFC标准来验证邮箱是否合法,有兴趣的可以看看“is this email val

Samuel 69万+
上一篇: 原生JS实现省市县三级联动
下一篇: vue.js简介
伦为JAY下囚
博客等级 码龄7年 52粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值