基础语法
正则表达式是强大的文本匹配工具,用于查找、替换或验证字符串中的特定模式。
什么是正则表达式?
正则表达式是由普通字符和特殊字符组成的模式,用于描述字符串的匹配规则。
简单示例:
hello - 匹配字符串 "hello"
\d - 匹配任意数字[a-z] - 匹配任意小写字母
基本组成部分
- 普通字符:直接匹配字符本身
- 元字符:具有特殊含义的字符
- 量词:指定匹配次数
- 字符类:匹配一组字符中的任意一个
从入门到精通的正则表达式学习指南
正则表达式是强大的文本匹配工具,用于查找、替换或验证字符串中的特定模式。
正则表达式是由普通字符和特殊字符组成的模式,用于描述字符串的匹配规则。
hello - 匹配字符串 "hello"
\d - 匹配任意数字[a-z] - 匹配任意小写字母
元字符是正则表达式中具有特殊含义的字符。
. - 匹配除换行符外的任意字符^ - 匹配字符串开始$ - 匹配字符串结束* - 匹配前面的元素0次或多次+ - 匹配前面的元素1次或多次? - 匹配前面的元素0次或1次量词指定字符或分组应该匹配的次数。
{n} - 精确匹配n次{n,} - 匹配n次或更多{n,m} - 匹配n到m次之间字符类允许您匹配一组字符中的任意一个字符。
[abc] - 匹配 a、b 或 c[a-z] - 匹配任意小写字母[0-9] - 匹配任意数字[^abc] - 匹配除 a、b、c 外的任意字符分组允许您对多个字符应用量词并捕获匹配的文本。
(abc) - 将 "abc" 作为一个组匹配(abc)+ - 匹配一个或多个 "abc" 组(a|b) - 匹配 "a" 或 "b"锚点指定匹配应该在字符串中的哪个位置发生。
^ - 字符串开始$ - 字符串结束\b - 单词边界\B - 非单词边界标志修改正则表达式的解释方式。
g - 全局匹配(查找所有匹配)i - 不区分大小写m - 多行模式s - 点号匹配换行符用于复杂模式匹配的高级正则表达式技巧。
(?=pattern) - 正向先行断言(?!pattern) - 负向先行断言(?<=pattern) - 正向后行断言(? - 负向后行断言通过这些实际练习来测试您的知识。
创建一个正则表达式来验证邮箱地址。
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
创建一个正则表达式来匹配手机号码。
^1[3-9]\d{9}$
创建一个正则表达式来匹配 YYYY-MM-DD 日期格式。
^\d{4}-\d{2}-\d{2}$