2025-06-17 正则表达式基础语法与应用 正则表达式基础语法与应用 一、基础语法与特殊字符 普通字符:如'a'、'b'等,直接表示它们自身。 特殊字符:如.表示任意单个字符,*表示前面的字符可以出现0次或多次,+表示前面的字符至少出现一次,?表示前面的字符可出现0次或1次,|表示“或”操作。 括号:()用于分组,[]用于指定字符集,{}用于指定前面的元素出现的次数。 锚点:^表示字符串的开始,$表示字符串的结束。 转义符:\用于转义特殊字符或普通字符,使其表示自身而非特殊含义。 二、量词与选择结构 量词:如*(0次或多次)、+(1次或多次)、?(0次或1次)、{n}(确切n次)、{n,}(至少n次)、{n,m}(n到m次)。 选择结构:通过|可以指定多个模式,匹配时选择符合的第一个模式。例如,a|b表示匹配a或b。 三、捕获组与回溯引用 捕获组:通过括号创建的子模式,可用于后续的引用或匹配时检查。例如,在正则表达式(a(b))中,括号内的内容为捕获组,其中a(b)是一个子模式。 回溯引用:通过反斜杠和数字(如\1, \2)引用前面定义的捕获组。这在某些替换操作中非常有用。 四、应用实例1. 文本搜索与替换```bash搜索所有以"http"开头的... 2025年06月17日 1 阅读 0 评论
2025-06-17 正则表达式在密码验证中的应用:一种高效且灵活的解决方案 正则表达式在密码验证中的应用:一种高效且灵活的解决方案 1. 基础密码验证规则1.1 长度限制regex ^.{8,20}$ # 密码长度介于8到20个字符之间 此正则表达式确保了密码的最小长度和最大长度,是密码验证中最基本的规则之一。1.2 必须包含数字、字母和特殊字符regex ^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=])[A-Za-z0-9@#$%^&+=]{8,20}$ # 包含数字、小写字母、大写字母和特殊字符的组合密码 此表达式通过正向预查(lookahead)确保了密码中至少包含一个数字、一个小写字母、一个大写字母和一个特殊字符。2. 增强安全性策略2.1 禁止常见密码和字典词虽然正则表达式本身不直接支持字典匹配,但可结合程序逻辑,如使用黑名单策略,来禁止使用如“123456”、“password”等常见密码。这种方法常用于提高密码的安全性,但需注意及时更新和维护黑名单列表。2.2 密码重复与连续性检查regex ^(?:(?!\b(.)\1{3}\b).)*$ # 防止连续出现4个相同字符的密码(如aaaa) 此正则表达式通过负向预查(neg... 2025年06月17日 1 阅读 0 评论
2025-06-15 正则表达式RegExp语法与用法详解 正则表达式RegExp语法与用法详解 一、基本语法与概念正则表达式由普通字符和特殊字符(称为元字符)组成。普通字符包括大小写字母、数字、空格等,而特殊字符如.、*、+、?、|等,具有特定的含义和功能。例如: - . 匹配除换行符外的任何单个字符。 - * 匹配前面的子表达式零次或多次。 - + 匹配前面的子表达式一次或多次。 - ? 匹配前面的子表达式零次或一次。 - | 执行逻辑“或”操作,匹配左边的子表达式或右边的子表达式。二、字符类匹配与范围字符类匹配使用方括号[]表示,如[abc]匹配单个字符"a"、"b"或"c"。还可以使用连字符-表示范围,如[a-z]匹配任何小写字母。此外,还有几种特殊的字符类: - \d 匹配任何数字(等价于[0-9])。 - \w 匹配任何字母数字(等价于[a-zA-Z0-9_])。 - \s 匹配任何空白字符(如空格、制表符等)。三、特殊字符与转义序列正则表达式中有一些特殊字符需要使用反斜杠\进行转义,如\.表示字面上的点字符,\n表示换行符等。反斜杠后跟其他特殊字符可以形成新的特殊序列,如\b表示单词边界。四、贪婪与非贪婪匹配默认情况下,正则表达式的量词(如*、+、?)是贪婪的,... 2025年06月15日 2 阅读 0 评论
2025-06-15 正则表达式在密码验证中的应用 正则表达式在密码验证中的应用 1. 基本密码复杂度要求 描述:密码至少8位,包含至少1个大写字母、1个小写字母、1个数字和1个特殊字符。 正则表达式:^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$ 解析:此表达式通过四个(?=...)正向预查来确保分别包含小写字母、大写字母、数字和特殊字符。[A-Za-z\d@$!%*?&]{8,}确保总长度至少为8位。 2. 禁止使用弱密码和连续模式 描述:密码长度为8到20位,不包含弱密码(如"12345678"、"password"、"qwerty"等),且不能有连续的三个相同字符。 正则表达式:^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])(?!.*[qwerty])(?!.*[abc|def|ghi])(?!.*[12345678])[A-Za-z\d@$!%*?&]{8,20}$ 解析:通过(?!...)负向预查来排除弱密码和连续三个相同字符的密码。注意,此处对弱密码的排除是示意性... 2025年06月15日 3 阅读 0 评论
2025-06-09 正则表达式基本语法汇总 正则表达式基本语法汇总 1. 基本字符匹配 普通字符:直接匹配文本中的相应字符。例如,a 匹配字符串中的 a。 转义字符:使用反斜杠 \ 对特殊字符进行转义,或表示八进制、Unicode 字符等。例如,\n 表示换行符。 特殊字符:在正则表达式中有特定含义的字符,如 . * + ? | () [] {} \\ 等。例如,. 表示任意单个字符(除换行符)。 2. 量化符 *:匹配前面的子表达式零次或多次。例如,a* 匹配 a 出现零次或多次的情况。 +:匹配前面的子表达式一次或多次。例如,a+ 匹配至少一个 a 的情况。 ?:匹配前面的子表达式零次或一次。例如,a? 匹配零个或一个 a 的情况。 {n}:n 是一个非负整数,匹配确定的 n 次。例如,a{2} 匹配 aa。 {n,}:至少匹配 n 次。例如,a{2,} 匹配至少两个 a 的情况。 {n,m}:n 到 m 次的匹配。例如,a{2,3} 匹配 aa 或 aaa。 3. 定位符 ^:匹配输入字符串的开始位置(除非在方括号表达式中使用)。例如,^a 匹配以 a 开头的字符串。 $:匹配输入字符串的结束位置(如果它是一个多行字符串中的单行)。例如,a... 2025年06月09日 8 阅读 0 评论
2025-06-05 正则表达式基础学习一文入门 正则表达式基础学习一文入门 一、正则表达式基础概念1. 特殊字符与普通字符特殊字符如*(表示零个或多个前面的元素)、+(表示一个或多个前面的元素)、?(表示零个或一个前面的元素)、|(表示“或”操作)等,它们在正则表达式中有特定的含义。而普通字符则按字面意思匹配。2. 字符类与范围使用方括号[]可以定义一个字符类,如[abc]匹配任何单个字符a、b或c。使用连字符-可以定义一个范围,如[a-z]匹配任何小写字母。二、基本结构与模式匹配技巧1. 锚点 ^ 表示行的开始。 $ 表示行的结束。 使用锚点可以帮助你更精确地定位匹配的起始和结束位置。 2. 捕获组与非捕获组通过圆括号(),你可以创建捕获组来存储匹配的文本供以后使用。使用非捕获组(通过(?:...)实现),可以避免不必要的存储,提高效率。三、常见特殊字符详解1. . 匹配除换行符外的任何单个字符。2. * 前面的元素出现零次或多次。3. + 前面的元素出现一次或多次。4. ? 前面的元素出现零次或一次。5. | A|B,匹配A或B。6. {n}、{n,}、{n,m} 分别表示前一个字符恰好出现n次、至少出现n次、出现n到m次。四、贪婪与非贪婪匹配默认情... 2025年06月05日 12 阅读 0 评论
2025-06-03 正则表达式匹配IP地址的全面解析 正则表达式匹配IP地址的全面解析 一、正则表达式基础正则表达式是一种强大的文本处理工具,用于在字符串中执行搜索和替换操作。它定义了字符串的模式,通过这些模式,我们可以对文本进行精确的匹配和操作。二、IPv4地址格式解析IPv4地址由四组数字组成,每组数字称为一个八位字节,用点(.)分隔。每个八位字节的取值范围是0到255。例如,一个有效的IPv4地址为192.168.1.1。三、构建匹配IPv4地址的正则表达式要构建一个能匹配IPv4地址的正则表达式,我们需要考虑以下关键点: 1. 数字范围:每个八位字节的数值必须在0到255之间。 2. 分隔符:八位字节之间用点(.)分隔。 3. 可选的开头和结尾:虽然理论上IP地址可以以0开头(如0.0.0.0),但在实际应用中,这样的IP地址并不常见且容易引起误解。因此,我们通常只匹配非零开头的IP地址。 4. 八位字节的限制:每个八位字节最多三位数字(如255),若为单数位数字(如8),则在前面补零(如08是不合法的)。然而,在正则表达式中通常省略这一限制以保持简单性,实际使用时可通过编程逻辑处理这种情况。四、基本正则表达式示例基于上述分析,一个基本的正则表达式用于匹配I... 2025年06月03日 12 阅读 0 评论
2021-12-25 关于¬ify_url变成¬ify_url的解决方法 关于¬ify_url变成¬ify_url的解决方法 在页面上显示¬ify_url不管怎样都变成¬ify_url,后来发现把&改为&就可以了PHP字符替换$str = '¬ify_url'; $url = str_replace("&","&",$str); js字符替换str = '¬ify_url'; url = str.replace(/&/, "&"); 2021年12月25日 1,415 阅读 0 评论
2021-09-15 特殊符号输入器 5.1 特殊符号输入器 5.1 这个工具可直接输入各种特殊字符,很方便。首次运行,需以管理员身份运行。界面皮肤可以更换。下载地址:https://zhizun.lanzoui.com/iMsFXu28ekj 2021年09月15日 768 阅读 0 评论