带你读《现代Javascript高级教程》二十四、正则表达式的常见问题与练习(2)

简介: 带你读《现代Javascript高级教程》二十四、正则表达式的常见问题与练习(2)

带你读《现代Javascript高级教程》二十四、正则表达式的常见问题与练习(1)https://developer.aliyun.com/article/1349518?groupCode=tech_library


问题四:在正则表达式中替换字符串

在 JavaScript 中,我们可以使用 String.prototype.replace() 方法来替换字符串中的内容。正则表达式可以用于指定要替换的模式。

示例:

 

const str = 'Hello, World!';
const regex = /World/;const newStr = str.replace(regex, 'JavaScript');
console.log(newStr); // "Hello, JavaScript!"

 

在上述示例中,我们使用 replace 方法将字符串中的 "World" 替换为 "JavaScript"。

问题五:在正则表达式中使用修饰符

在正则表达式中,修饰符是在正则表达式主体后面的字符,用于控制匹配模式的行为。

常见的修饰符有:

 

  • i:不区分大小写进行匹配。
  • g:全局匹配,匹配到一个结果后继续查找下一个匹配项。
  • m:多行匹配,允许匹配换行符。

示例:

const str = 'Hello, hello, hElLo!';const regex = /hello/i;const result = str.match(regex);
console.log(result); // ["Hello"]

 

在上述示例中,我们使用修饰符 i 来实现不区分大小写的匹配。正则表达式 /hello/i 匹配到了字符串中的 "Hello"。

练习题

尝试解决以下正则表达式的练习题目。

 

1匹配手机号码:

const regex = /^1[3456789]\d{9}$/;

 

这个正则表达式可以用来匹配中国大陆的手机号码,以 "1" 开头,后面跟随 10 个数字。

 

  1. 匹配身份证号码:
const regex = /^\d{17}(\d|X|x)$/;

 

这个正则表达式可以用来匹配中国大陆的身份证号码,由 17 位数字和一位数字或字母 "X"(不区分大小写)组成。

 

  1. 匹配 URL:

 

const regex = /^(https?|ftp):\/\/[^\s/.?].[\s]∗.?].[^\s]*/;

 

这个正则表达式可以用来匹配以 "http://"、"https://" 或 "ftp://" 开头的 URL。

 

相关文章
|
2月前
|
移动开发 JavaScript 前端开发
JavaScript的正则表达式实现邮箱校验
JavaScript的正则表达式实现邮箱校验
56 1
|
17天前
|
存储 JavaScript 前端开发
JavaScript高级主题:JavaScript 中的 Map 和 Set 是什么?它们有什么区别?
JavaScript的ES6引入了Map和Set数据结构。Map用于存储键值对,适合通过键进行查找,而Set则存储唯一值,无键且不支持键查找。两者在性能上表现出色,尤其在频繁的写入删除操作中。选择使用哪个取决于具体应用场景:键值对需求选Map,独特值集合则选Set。
19 2
|
2月前
|
JavaScript 前端开发 Java
JavaScript高级笔记-coderwhy版本(六)
JavaScript高级笔记-coderwhy版本
74 0
|
2月前
|
JavaScript 前端开发 Java
JavaScript高级笔记-coderwhy版本(一)
JavaScript高级笔记-coderwhy版本
34 0
JavaScript高级笔记-coderwhy版本(一)
|
2月前
|
存储 JSON JavaScript
JavaScript高级进阶(更新中)-javascript-gao-ji-jin-jie--geng-xin-zhong-(三)
JavaScript高级进阶(更新中)-javascript-gao-ji-jin-jie--geng-xin-zhong-
40 1
|
2月前
|
JavaScript 前端开发 算法
JavaScript高级进阶(更新中)-javascript-gao-ji-jin-jie--geng-xin-zhong-(二)
JavaScript高级进阶(更新中)-javascript-gao-ji-jin-jie--geng-xin-zhong-
28 0
|
2月前
|
Web App开发 JavaScript 前端开发
JavaScript高级进阶(更新中)-javascript-gao-ji-jin-jie--geng-xin-zhong-(一)
JavaScript高级进阶(更新中)-javascript-gao-ji-jin-jie--geng-xin-zhong-
62 0
|
2月前
|
Windows Perl
Perl 教程 之 Perl 正则表达式 8
Perl的正则表达式是其强项,常用于字符串匹配、查找、替换等。基本操作包括:`.`匹配任意字符(除换行符),`x?`匹配0或1次`x`,`x*`匹配0或多次`x`,`x+`匹配1或多次`x`。还有范围匹配如`[0-9]`、否定匹配`[^a-z]`、边界匹配`\b`等。特殊序列如`\d`代表数字,`\s`代表空格,`()`用于记忆匹配内容,`/pattern/i`忽略大小写。
10 0
|
2月前
|
Perl
Perl 教程 之 Perl 正则表达式 7
Perl教程讲解了其强大的正则表达式功能,用于字符串匹配、查找、替换和提取。示例展示如何使用`/s`删除变量`$string`中的重复字符,输出结果为原字符串。其他实例包括将非数字字符替换为空格,删除tab和空格,以及将数字间字符替换为单个空格。
15 3
|
2月前
|
Perl
Perl 教程 之 Perl 正则表达式 6
**Perl正则表达式强大多能,常用于字符串匹配、替换和提取。转化操作符如`tr`用于字符转换,如将所有小写字母转大写:`$string =~ tr/a-z/A-Z/`。**
17 2