正则表达式
2022/4/25 6:12:49
本文主要是介绍正则表达式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
语法
/正则表达式主体/修饰符
search()
var str = "Visit Runoob!"; var n = str.search(/Runoob/i); // n=6
replace()
var str = 'Visit Microsoft!' var txt = str.replace(/microsoft/i,"Runoob"); // txt = Visit Runoob!
修饰符
- i 忽略大小写
- g 全局匹配,而非找到第一个匹配后停止
- m 执行多行匹配
模式
- [abc] 查找方括号之间的任何字符
- [0-9] 查找从0至9的数字
- (x|y) 查找任何以|分隔的选项
元字符(元字符是拥有特殊含义的字符)
- \d 匹配数字
- \s 匹配空白字符
- \S 匹配不是空白符的字符
- \w 匹配字母或数字或下划线或汉字
- \W 匹配不是字母或数字或下划线或汉字的字符
- \b 匹配单词边界
- \B 匹配不是单词开头或结束的位置
- \uxxxx 查找以十六进制数xxx规定的Unicode字符
- ^ 匹配字符串的开始
- $ 匹配字符串的结束
- [^aeiou]匹配除了aeiou这几个字母以外的任意字符
量词
- n+ 匹配任何包含至少一个n的字符串
- n* 匹配任何包含零个或多个n的字符串
- n? 匹配任何包含另个或一个n的字符串
- {n} 重复n次
- {n,} 重复n次或更多次
- {n,m} 重复n次到m次
懒惰限定符
- *? 匹配0次或多次但尽可能少的匹配
- +? 匹配1次或多次但尽可能少的匹配
- ?? 匹配0次或1次但尽可能少的匹配
- {n,m}? 匹配n到m次但尽可能少的匹配
- {n,}? 匹配n次或更多次但尽可能少的匹配
使用RegExp对象
test()
test() 方法用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回 true,否则返回 false。
var patt = /e/; const res = patt.test("The best things in life are free!"); // res = true
exec()
exec() 方法用于检索字符串中的正则表达式的匹配。
该函数返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。
const res = /ee+/.exec("The best things in life are free!"); // res = ['ee', index: 30, input: 'The best things in life are free!', groups: undefined]
这篇关于正则表达式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-11正则表达式学习:入门指南与实践技巧
- 2024-08-15正则表达式入门:基础教程与实践指南
- 2024-01-0939. 干货系列从零用Rust编写负载均衡及代理,正则及格式替换
- 2024-01-08如何编写高效的正则表达式?
- 2023-12-29"Matlab中的正则表达式:强大而灵活的工具"
- 2023-09-30这个正则 为啥同样的单号第二个就提取不出来?
- 2023-06-086.2 re 正则表达式
- 2023-06-06将字符串里的\x01,\x02这些替换掉用正则表达式无效?
- 2023-05-24正则表达式详解
- 2023-05-17我让gpt写了一段正则表达式代码,可是运行报错,可以帮忙看看哪里出了问题?