下面提供详细的攻略:
什么是正则表达式
正则表达式是一种字符串匹配模式,用于检索、替换和提取字符串中的文本。它可以用特定的语法编写,可以匹配字符串的某些模式,具有处理字符串高级功能的能力。
正则表达式语法
正则表达式语法包括元字符、修饰符和括号。
元字符
元字符是一些特殊字符,它们在正则表达式中具有特殊含义。这些字符可以用来匹配或定位特定的内容或位置,如下表所示:
元字符 | 描述 |
---|---|
. | 匹配任意字符,除了换行符 |
* | 匹配前面的字符 0 次或多次 |
+ | 匹配前面的字符 1 次或多次 |
? | 匹配前面的字符 0 次或 1 次 |
{n} | 匹配前面的字符 n 次 |
{n,m} | 匹配前面的字符 n 到 m 次 |
[] | 匹配括号内的任意一个字符 |
[^] | 不匹配括号内的任意一个字符 |
^ | 匹配输入字符串的开头 |
$ | 匹配输入字符串的结尾 |
() | 分组匹配,可以进行子表达式嵌套 |
修饰符
修饰符是可选的字符,用于更精细地调整正则表达式的匹配规则。
修饰符 | 描述 |
---|---|
i | 执行不区分大小写的匹配 |
g | 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止) |
m | 多行模式(^ 和 $ 可以匹配每一行的开头和结尾) |
s | 执行点号匹配任何字符(包括换行符) |
u | 使用 Unicode 对模式进行匹配 |
y | 执行从上次匹配位置开始的粘性搜索 |
示例
以下是两个例子,鼓励读者自己理解。
验证 Email 地址
function validateEmail(email) {
let pattern = /^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$/i;
return pattern.test(email);
}
上面的函数使用正则表达式验证邮件地址。它只允许小写字母、数字、下划线、点、加号、百分号和短划线作为用户名的一部分,允许域名中有一个或多个点。
验证 URL 地址
function validateUrl(url) {
let pattern = /^(http|https):\/\/[a-z0-9-]+(\.[a-z0-9-]+)+([\/?#].*)?$/i;
return pattern.test(url);
}
上面的函数使用正则表达式验证 URL 地址。它使用 ^(开始)和 $(结束)定位器来限制字符串内容,使用 + 和 * 元字符来表示一个或多个字符和零个或多个字符,使用 [] 表示可能出现的字符,使用 ()(groups) 分组,使用 + 表示可能出现一次或多次的分组。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:一个非常不错的一个正则练习JS版 - Python技术站