javascript正则表达式怎么写_如何匹配和替换文本

8次阅读

JavaScript 正则表达式可通过字面量(如 /d{3}-d{4}/)或 RegExp 构造函数创建,需正确编写模式与标志(g/i/m/s),并配合 test()、match()、exec()匹配及 replace()替换文本。

javascript 正则表达式怎么写_如何匹配和替换文本

JavaScript 正则表达式 RegExp 对象或字面量(如 /pattern/flags)创建,核心是写对模式(pattern)和选对标志(flags),再配合字符串方法完成匹配与替换。

基础写法:字面量 vs 构造函数

两种方式都能创建正则对象,但适用场景不同:

  • 字面量:/d{3}-d{4}/ —— 模式固定、无变量时更简洁,性能略好
  • 构造函数:new RegExp('\d{3}-\d{4}') —— 模式含变量或动态拼接时必须用,注意反斜杠要双写(字符串转义)

常用标志(flags)怎么选

标志决定匹配行为,常组合使用:

  • g:全局匹配(不加只找第一个)
  • i:忽略大小写(如 /hello/i 匹配 "Hello"
  • m:多行模式(让 ^$ 匹配每行起止)
  • s(ES2018+):点号 . 匹配换行符(默认不匹配)

匹配文本:用 test()、match()、exec()

根据需求选方法:

立即学习Java 免费学习笔记(深入)”;

  • reg.test(str):返回 true/false,适合条件判断(如表单校验)
  • str.match(reg):返回匹配数组(含 indexinput 等属性),全局时返回所有匹配项;无匹配返回 null
  • reg.exec(str):返回单个匹配结果(含捕获组),配合 g 标志可循环调用获取全部(适合需逐个处理的场景)

替换文本:replace() 的关键细节

str.replace(reg, replacement) 是主力方法,replacement 可以是字符串或函数:

  • 字符串中可用特殊符号:$1 表示第一个捕获组,$& 表示整个匹配,$$ 表示一个 $
  • 用函数更灵活:如 str.replace(/(w+)/g, (match, p1) => p1.toUpperCase()),参数依次为完整匹配、捕获组、索引、原字符串
  • 注意:不加 g 标志只替换第一个;想全替换必须带 g

不复杂但容易忽略。

星耀云
版权声明:本站原创文章,由 星耀云 2025-12-30发表,共计881字。
转载说明:转载本网站任何内容,请按照转载方式正确书写本站原文地址。本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。
text=ZqhQzanResources