首页 > 编程语言 >正则表达式复习七——JavaScript 中使用

正则表达式复习七——JavaScript 中使用

时间:2024-01-17 21:13:41浏览次数:35  
标签:返回 匹配 复习 正则表达式 pattern JavaScript let 字符串

JavaScript 使用

JavaScript 的正则表达式是由 RegExp 对象表示的,同时也可以使用正则表达式字面量。

1. 使用 RegExp 对象

let pattern = new RegExp("pattern", "flags");

pattern 是字符串形式的正则表达式模式。flags 是字符串形式的修饰符,可以包含 i, g, m 等。

let pattern = new RegExp("abc", "i");           // 匹配 "abc",不区分大小写
let globalPattern = new RegExp("abc", "g");     // 匹配所有的 "abc"
let multilinePattern = new RegExp("^abc", "m"); // 匹配每一行的开头是 "abc"

2. 使用字面量

let pattern = /pattern/flags;

pattern 是正则表达式的模式,可以包含字符、字符集、量词等。

flags 是修饰符,可以是以下之一或它们的组合:

  • i : 忽略大小写匹配。
  • g : 全局匹配,匹配所有符合条件的字符串。
  • m : 多行匹配,^$ 匹配每一行的开头和结尾。
let pattern = /mozilla/i;

3. 常用的正则表达式方法

3.1. test

test 方法用于检测字符串是否匹配正则表达式,返回布尔值:

let pattern = /\d+/;
let result = pattern.test("123abc"); // true

上例检测字符串 "123abc" 是否包含一个或多个数字。

3.2. exec

exec 方法返回第一个匹配的结果数组,或者在没有匹配时返回 null

let pattern = /\d+/;
let result = pattern.exec("123abc");  // ["123"]

上例在字符串 "123abc" 中查找第一个匹配模式 \d+(即一个或多个数字)的子字符串,并返回包含匹配结果的数组 ["123"]

3.3. match

match 方法在字符串中查找一个或多个匹配,返回一个包含匹配结果的数组:

let pattern = /\d+/;
let result = "123abc".match(pattern);  // ["123"]

上例在字符串 "123abc" 中查找第一个匹配模式 \d+(即一个或多个数字)的子字符串,并返回包含匹配结果的数组 ["123"]

exec 方法相比,match 方法用于在字符串中查找第一个匹配,但返回结果的形式略有不同。

search 方法返回字符串中第一个匹配的索引,如果没有匹配则返回 -1:

let pattern = /\d+/;
let result = "abc123".search(pattern);  // 3

上例在字符串 "abc123" 中查找是否包含匹配模式 \d+(即一个或多个数字)的子串,并返回匹配的子串在原字符串中的索引,即返回 3。

3.5. replace

replace 方法用指定的字符串或函数替换匹配的子串:

let pattern = /\d+/;
let result = "abc123".replace(pattern, "X");  // "abcX"

上例将字符串 "abc123" 中匹配模式 \d+(即一个或多个数字)的子串替换为字符串 "X",返回替换后的新字符串 "abcX"

3.6. split

split 方法使用正则表达式或指定的子字符串拆分字符串,并返回一个数组:

let pattern = /\s+/;
let result = "This is a sentence".split(pattern);  // ["This", "is", "a", "sentence"]

上例将字符串 "This is a sentence" 根据空白字符拆分为一个数组,每个数组元素都是原字符串中的一个单词,返回的结果是 ["This", "is", "a", "sentence"]

标签:返回,匹配,复习,正则表达式,pattern,JavaScript,let,字符串
From: https://www.cnblogs.com/xinjie-just/p/17958745

相关文章

  • 正则表达式
    正则表达式匹配符d?d出现0/1次a*a可以出现0/多次a+a出现一次以上a{6}a出现6次a{2,}a出现2次以上a{2,6}a出现2-6次匹配多个字符:(ab)+ab出现一次以上或运算a(cat|dog)匹配acatoradogacat|dog匹配acatordog字符类匹配由abc构成的数据【abc】+abc出现一次......
  • 利用javascript获取并修改伪元素的值
    HEAD中添加style标签强制覆盖初始属性这个方法是利用内部css样式的高优先级来覆盖外部css,好处是简单易理解,实现简单。坏处就是吃相太难看,过于粗暴。varstyle=document.createElement('style');style.innerHTML=".test::before{color:green}";//添加样式内容的话也可以用上面提......
  • 正则表达式复习六——常见案例
    常用案例1.匹配邮箱地址/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/2.匹配URL/^(https?|ftp):\/\/(-\.)?([^\s\/?\.#-]+\.?)+(\/[^\s]*)?$/3.匹配日期(YYYY-MM-DD)/^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/4.手机号码/^[0-9]{10}$/5.身份证......
  • javascript node.js , java jvm , jdk, jre 的理解。
    网上的截图: 来看看node.js     再来看看java.     ......
  • halcon #正则表达式
    此处提供了正则表达式语法的摘要。基本上正则表达式中的每个字符都表示要匹配的文本,除了以下具有特殊含义的符号(所描述的语法与Perl兼容):^匹配字符串的开头$匹配字符串末尾(允许使用尾随换行符).匹配除换行符以外的任何字符[...]匹配括号中列出的任何字符文本......
  • web DevOps / css id / css class / javascript / Browser Object Model / bom / Docu
    sNSD_DEVOPS_02CSS概述概念与理解层叠样式表—也就是CSS—是在HTML之后应该学习的第二门技术。HTML用于定义内容的结构和语义,CSS用于设计风格和布局。比如,我们可以使用CSS来更改内容的字体、颜色、大小、间距,将内容分为多列,或者添加动画及其他的装饰效果。修改页......
  • 正则表达式复习五——运算符优先级
    运算符优先级正则表达式从左到右进行计算,并遵循优先级顺序,这与算术表达式非常类似。相同优先级的从左到右进行运算,不同优先级的运算先高后低。各种正则表达式运算符的优先级从最高到最低顺序:序号字符含义1\转义符2(),(?:),(?=),[]圆括号和方括号3*,+,......
  • 正则表达式
    正则表达式字符类:[abc]:匹配字符a、b或c。[^abc]:匹配除了字符a、b和c之外的任意字符。[a-z]:匹配任意小写字母。[A-Z]:匹配任意大写字母。[0-9]:匹配任意数字。[a-zA-Z0-9]:匹配任意字母或数字。特殊字符:.:匹配任意单个字符(除了换行符\n)。\d:匹配......
  • Vue 项目离线安装 ArcGIS for JavaScript
    注意:arcgis-js-api在4.18及之后版本,可以通过npminstall@arcgis/[email protected]直接安装在写些博客时,npm能安装的最新版为4.28.10,下面以4.28.10为例,讲解离线安装。在vue3项目中,通过npminstall@arcgis/[email protected]安装,但默认是半本地化的,因为assests资源是通过https://js.ar......
  • 【JaveWeb教程】(2)Web前端基础:JavaScript入门不再难:一篇文章教你轻松搞定JavaScript的
    目录1介绍2引入方式3基础语法3.1书写语法3.2变量3.3数据类型和运算符4函数4.1第一种定义格式4.2第二种定义格式html完成了架子,css做了美化,但是网页是死的,我们需要给他注入灵魂,所以接下来我们需要学习JavaScript,这门语言会让我们的页面能够和用户进行交互。1介绍通过代......