前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >正则表达式 RegExp(regular expression)

正则表达式 RegExp(regular expression)

原创
作者头像
星辰大海c
发布2023-11-20 13:49:12
1840
发布2023-11-20 13:49:12
举报
文章被收录于专栏:前端学习教程前端学习教程

前端开发中,正则表达式常用于字符串匹配、验证输入的格式、替换字符串等操作。它是一个强大的工具,能够用一种灵活的方式来处理文本数据。在前端开发中,你可以利用正则表达式来实现诸如验证邮箱格式、手机号码格式、提取特定模式的文本等功能。

正则表达式 RegExp(regular expression)

用来处理“字符串”的规则【匹配 & 捕获】

  • 只能处理字符串类型的值
  • 匹配:验证当前字符串是否符合我设定的规则(test)
  • 捕获:把字符串中符合规则的部分捕获到

正则的匹配

test()方法

代码语言:txt
复制
let reg = /\d+/;//只要包含一到多个数字
let str = 'zhufeng123';
console.log(reg.test(str));//true

正则表达式由“元字符”和“修饰符”组成

正则表达式中的元字符和修饰符

量词元字符:设置出现的次数

代表出现的次数

*:零到多次

+:一到多次

?:零次或一次

{n}:出现n次

{n,}:出现n到多次

{n,m};出现n到m次

特殊元字符:单个或者组合在一起代表特殊的含义

有自己特殊含义的

\:转义字符(普通->特殊->普通)

. :除\n(换行符)以外任意字符

^:以哪一个元字符作为开始

$:以哪一个元字符作为结束

\n:换行符

\d:0~9之间的一个数字

\D:非0~9之间的一个数字 (大写和小写的意思是相反的)

\w:数字、字母、下划线

\s:一个空白字符(包含空格、制表符TAB、换页符Enter等)

\t:一个制表符(一个TAB键:四个空格)

\b:匹配一个单词的边界

x|y:x或者y中的一个字符

xyz:x或者y或者z中的一个字符

^xy:除了x/y以外的任意字符

a-z:指定a-z这个范围中的任意字符 0-9a-zA-Z_===\w

^a-z:上一个的取反“非”

():正则中的分组符号

(?:):只匹配不捕获

(?=):正向预查(?=后跟的是条件,必须符合这个条件)

(?!):负向预查

普通元字符

普通元字符代表的含义是自己本身

修饰符

i => ignnoreCase 忽略单词大小写匹配

m => multiline 可以进行多行匹配

g => global 全局匹配

例如,验证邮箱格式的正则表达式可以是:

代码语言:javascript
复制
const emailRegex = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;

这个正则表达式可以验证常见的邮箱格式,但并不是万能的。在实际开发中,根据需求,你可能需要调整或者使用更复杂的正则表达式。

手机号码的验证也可以使用正则表达式,比如:

代码语言:javascript
复制
const phoneRegex = /^[1-9]\d{2}-\d{3}-\d{4}$/;

这个正则表达式用于验证形如 123-456-7890 的美国电话号码格式。但要记住,不同国家或地区的电话号码格式不同,可能需要根据实际情况进行调整。

在 JavaScript 中,你可以使用 RegExp 对象来创建正则表达式,并使用其方法来进行匹配、替换等操作,例如:

代码语言:javascript
复制
const myString = 'Hello, my email is example@email.com';

const emailRegex = /[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}/;
const foundEmail = myString.match(emailRegex);

if (foundEmail) {
  console.log('Found email:', foundEmail[0]);
} else {
  console.log('Email not found');
}

这段代码会在 myString 中查找匹配邮箱格式的字符串,并将其打印出来。这只是正则表达式在前端开发中的一个简单应用,实际上它有很多强大的应用场景。

我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 正则表达式 RegExp(regular expression)
  • 正则的匹配
  • 正则表达式由“元字符”和“修饰符”组成
    • 正则表达式中的元字符和修饰符
      • 量词元字符:设置出现的次数
      • 特殊元字符:单个或者组合在一起代表特殊的含义
      • 普通元字符
      • 修饰符
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档