导图社区 正则表达式思维导图
这是一篇关于正则表达式的思维导图的思维导图,主要内容包括:正则表达式的常见用途,正则表达式在不同编程语言中的应用,正则表达式高级特性,正则表达式基础。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
生成正则表达式的思维导图
正则表达式在不同编程语言中的应用
Python
使用re模块处理正则表达式
re.match() 从字符串开始处匹配正则表达式
re.search() 搜索字符串中第一次出现的正则表达式
re.findall() 查找字符串中所有符合正则表达式的子串
re.sub() 替换字符串中所有符合正则表达式的子串
正则表达式对象的方法
group() 返回匹配的字符串
start() 返回匹配的起始位置
end() 返回匹配的结束位置
JavaScript
使用RegExp对象和String对象的方法
RegExp.test() 测试字符串是否符合正则表达式
String.match() 返回匹配结果数组
String.replace() 替换字符串中符合正则表达式的部分
String.search() 返回第一个匹配的索引位置
String.split() 根据正则表达式分割字符串
PHP
使用preg扩展处理正则表达式
preg_match() 执行正则表达式匹配
preg_match_all() 执行全局正则表达式匹配
preg_replace() 执行正则表达式替换
preg_split() 用正则表达式分割字符串
正则表达式修饰符
i 忽略大小写
m 多行模式
s 使点号(.)匹配包括换行符在内的所有字符
x 忽略空白字符和注释
正则表达式的常见用途
文本搜索与匹配
在文档中查找符合特定模式的字符串
如查找电子邮件地址、电话号码等
在日志文件中定位特定事件或错误
用于监控和故障排查
数据验证
验证用户输入的数据格式
如验证邮箱地址、信用卡号等
确保数据的一致性和准确性
用于表单验证、API输入验证等
数据提取与转换
从文本中提取有用信息
如从网页中抓取数据
转换数据格式
如将日期从一种格式转换为另一种格式
文本替换与清洗
清除或替换文本中的特定模式
如去除HTML标签、清理空白字符等
格式化文本
如统一日期格式、调整文本对齐等
编程语言中的字符串处理
在编程中处理字符串时使用正则表达式
如字符串分割、替换、比较等操作
提高代码的灵活性和可维护性
使用正则表达式可以减少硬编码和重复代码
正则表达式基础
定义
正则表达式是一种文本模式
用于匹配字符串中字符组合的模式
可用于搜索、替换、提取文本等操作
由普通字符和特殊字符组成
普通字符包括字母、数字、汉字等
特殊字符包括元字符、限定符、选择符等
元字符
特殊字符,具有特殊含义
如点号(.)表示任意单个字符
星号(*)表示前面的字符可以出现零次或多次
常见元字符
\ 转义字符,使后一个字符失去特殊意义
^ 表示行的开始
$ 表示行的结束
字符集,匹配方括号内的任意字符
() 分组,用于提取子字符串或应用限定符
限定符
用于指定字符或字符集出现的次数
如问号(?)表示前面的字符零次或一次
加号(+)表示一次或多次
花括号({})表示前面的字符出现的精确次数或次数范围
正则表达式高级特性
分组与捕获
使用括号()创建子表达式
可以对子表达式进行分组和捕获
捕获的组可以在后续引用
反向引用
通过\数字引用前面的捕获组
例如\1引用第一个捕获组
零宽断言
不消耗字符的断言
正向前瞻(?=...),确保某个模式在目标字符串中存在
正向后顾(?<=...),确保某个模式在目标字符串中之前存在
负向前瞻(?!...),确保某个模式在目标字符串中不存在
负向后顾(?<!...),确保某个模式在目标字符串中之前不存在
条件表达式
根据条件匹配不同的模式
(?(id/name)yesno) 根据命名或编号的分组是否存在来匹配yes或no
(?(1)yesno) 如果第一个分组存在,则匹配yes,否则匹配no