带你读《现代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 个数字。
- 匹配身份证号码:
const regex = /^\d{17}(\d|X|x)$/;
这个正则表达式可以用来匹配中国大陆的身份证号码,由 17 位数字和一位数字或字母 "X"(不区分大小写)组成。
- 匹配 URL:
const regex = /^(https?|ftp):\/\/[^\s/.?].[\s]∗.?].[^\s]*/;
这个正则表达式可以用来匹配以 "http://"、"https://" 或 "ftp://" 开头的 URL。