正则表达式(Regex)基础
正则表达式(Regex)是一种用于描述文本模式的工具,常用于字符串搜索、替换和验证。在计算机科学中,正则表达式是一种字符串匹配的工具,它通过一些特殊字符和语法规则来匹配文本中的模式。
正则表达式语法
正则表达式的语法规则是由一些特殊字符和语法组成的。这些特殊字符和语法可以用于匹配文本中的模式。
字符匹配
字符匹配是正则表达式的基础。在正则表达式中,可以使用普通字符或元字符来匹配文本中的字符。例如,正则表达式 cat 可以匹配字符串 "cat" 中的字符。
元字符
元字符是一些特殊字符,它们在正则表达式中有特殊的含义。一些常用的元字符如下所示:
.:匹配任意字符。*:匹配前面的字符零次或多次。+:匹配前面的字符一次或多次。?:匹配前面的字符零次或一次。^:匹配字符串的开头。$:匹配字符串的结尾。|:匹配两个或多个正则表达式中的任意一个。- ``:用于转义字符,使其具有普通含义。
字符集
字符集是一组字符,可以用于匹配文本中的一个字符。字符集用方括号括起来,例如 [abc] 可以匹配字符串中的 a、b 或 c。
量词
量词用于指定匹配的次数。例如,{n} 表示匹配前面的字符 n 次,{n,m} 表示匹配前面的字符至少 n 次,但不超过 m 次,{n,} 表示匹配前面的字符至少 n 次。
常见用途
正则表达式常用于以下场景:
验证输入
正则表达式可以用于验证用户输入是否符合某种格式要求,例如电话号码、邮箱地址、身份证号码等。
字符串搜索和替换
正则表达式可以用于在字符串中搜索特定的模式,并进行替换。例如,可以用正则表达式将一个字符串中的所有空格替换为连字符。
数据提取
正则表达式可以用于从文本中提取特定的数据。例如,可以用正则表达式从一个 HTML 文档中提取所有链接地址。
总结
正则表达式是一种强大的文本处理工具,它可以用于验证输入、搜索和替换字符串。
常用正则表达式
正则表达式(Regular Expression,简称为 Regex)是一种描述字符串规律的方式,可以用于文本处理、数据校验、搜索等场景。以下是一些常见的正则表达式,可以帮助开发人员更加高效地处理字符串操作。
手机号码检验正则
^1[3-9]\d{9}$
该正则表达式可以匹配符合中国大陆手机号码格式的字符串,以数字 1 开头,后面跟 10 位数字。其中第二位数字为 3~9 之间的任意数字。
匹配邮箱地址
^\w+([-+.]\w+)*@\w+([-.]\w+)*.\w+([-.]\w+)*$
该正则表达式可以匹配符合邮件地址格式的字符串,包括用户名和域名两部分,中间用 @ 符号连接。用户名由字母、数字和下划线组成,可以包含 - 和 .;域名由字母、数字和减号组成,可以包含多个域名段,最后一个域名段可以是 2~6 个字母。
匹配网址 URL
^(http|https|ftp)://[^\s]+$
该正则表达式可以匹配符合 URL 格式的字符串,包括协议和地址两部分,中间用 :// 符号连接。协议部分可以是 http、https 或 ftp,地址部分可以是域名或 IP 地址。
匹配中文字符
[\u4e00-\u9fa5]
该正则表达式可以匹配一个中文字符。
匹配连续的空格
\s+
该正则表达式可以匹配一个或多个连续的空格,包括空格、制表符和换行符。
匹配非数字字符
\D
该正则表达式可以匹配任意非数字字符,等价于 [^0-9]。
匹配非空字符
\S
该正则表达式可以匹配任意非空字符,等价于 [^ \t\r\n\f]。
匹配年月日格式的日期
\d{4}-\d{2}-\d{2}
该正则表达式可以匹配符合年月日格式的日期字符串,例如 2022-04-18。
匹配邮政编码
\d{6}
该正则表达式可以匹配符合中国大陆邮政编码格式的字符串,包含了 6 个数字。
匹配整数
^-?\d+$
该正则表达式可以匹配一个整数,包括正整数、负整数和 0。