正则表达式测试工具
本页面为大家提供正则表达式测试工具,可进行正则表达式验证,正则表达式校验,可在线自定义正则表达式提取文本内容,对任意正则表达式进行校验,正则表达式提取网址,正则表达式在线格式化等等,希望对大家有帮助。
正则表达式的介绍
正则表达式(Regular Expression),又称规则表达式,它是对字符串操作的一种逻辑公式,即用事先定义好的一些特定字符以及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
例如,在python中,'\d\d\d\d-\d\d-\d\d'是一个用来匹配日期的正则表达式。
正则表达式可以用来做什么?
给定一个正则表达式和另一个字符串,我们可以达到如下的目的:
1. 检查给定的字符串是否符合正则表达式的过滤逻辑,即能否匹配;
2. 可以通过正则表达式的匹配,从字符串中提取或替换特定的部分。
正则表达式的语法
在正则表达式中:
字母和数字表示他们自身。
多数字母和数字前加一个反斜杠时会拥有不同的含义。
标点符号只有被转义时才匹配自身,否则它们表示特殊的含义。
反斜杠本身需要使用反斜杠转义。
由于正则表达式通常都包含反斜杠,所以最好使用原始字符串来表示它们。模式元素(如 r'\t',等价于 '\\t')匹配相应的特殊字符。
正则表达式在字符串处理中的应用
正则表达式: 就是描述字符串排列模式的一种自定义语法规则、也是用于描述字符串排列 或 匹配模式的一种语法规则、
正则表达式: 就是用于描述字符串排列 或 匹配模式的一种语法规则、
它主要用于字符串的: 分割字符串、查找字符串、替换字符串 的一系列操作
在php中 正则表达式一般是由一些特殊字符联合构成的一个文本模式描述
如果可以使用字符串处理函数完成的任务,就不要使用正则, 性能相关、但是有一些复杂的操作只能使用正则完成
正则表达式不单独属于某一个语言、它是可以在很多计算机语言中应用: php、java、c++..都通用
正则表达式也称为一种模式表达式。
正则表达式就是通过构建具有特定规则的模式,与输入的字符信息比较,再进行分割、匹配、查找、替换等工作
php正则表达式快速入门小案例如下: "/<img\ssrc=".?"\/>/"
以上正则表达式结构的特点分析: 一、 正则表达式也是一个字符串 二、具有特殊意义的字符组成的字符串 三、具有一定的编写规则,也可以看作是一种模式 四、也可以看作是一种编程语言(是用一些特殊字符,按规则编写出一个字符串,形成一种模式---正则表达式)
常用元字符
代码 | 说明 |
---|---|
. | 匹配除换行符以外的任意字符 |
\w | 匹配字母或数字或下划线 |
\s | 匹配任意的空白符 |
\d | 匹配数字 |
\b | 匹配单词的开始或结束 |
^ | 匹配字符串的开始 |
$ | 匹配字符串的结束 |
常用限定符
代码/语法 | 说明 |
---|---|
* | 重复零次或更多次 |
+ | 重复一次或更多次 |
? | 重复零次或一次 |
{n} | 重复n次 |
{n,} | 重复n次或更多次 |
{n,m} | 重复n到m次 |
常用反义词
代码/语法 | 说明 |
---|---|
\W | 匹配任意不是字母,数字,下划线,汉字的字符 |
\S | 匹配任意不是空白符的字符 |
\D | 匹配任意非数字的字符 |
\B | 匹配不是单词开头或结束的位置 |
[^x] | 匹配除了x以外的任意字符 |
[^aeiou] | 匹配除了aeiou这几个字母以外的任意字符 |
正则表达式参考大全
字符 | 描述 |
---|---|
^\d+$ | //匹配非负整数(正整数 + 0) |
//匹配整数 ^\d+(\.\d+)?$ | //匹配非负浮点数(正浮点数 + 0) |
^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$ | //匹配正浮点数 |
^((-\d+(\.\d+)?)|(0+(\.0+)?))$ | //匹配非正浮点数(负浮点数 + 0) |
^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$ | //匹配负浮点数 |
^(-?\d+)(\.\d+)?$ | //匹配浮点数 |
^[A-Za-z]+$????????? | //匹配由26个英文字母组成的字符串 |
^[A-Z]+$ ??? | //匹配由26个英文字母的大写组成的字符串 |
^[a-z]+$ | //匹配由26个英文字母的小写组成的字符串 |
^[A-Za-z0-9]+$ | //匹配由数字和26个英文字母组成的字符串 |
^\w+$ | //匹配由数字、26个英文字母或者下划线组成的字符串 |
^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$ | //匹配email地址 |
^[a-zA-z]+://匹配(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$ | //匹配url |
[\u4e00-\u9fa5] | 匹配中文字符的正则表达式 |
[^\x00-\xff] | 匹配双字节字符(包括汉字在内) |
\n[\s| ]*\r | 匹配空行的正则表达式 |
/<(.*)>.*<\/>|<(.*)\/>/ | 匹配HTML标记的正则表达式 |
(^\s*)|(\s*$) | 匹配首尾空格的正则表达式 |
\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* | 匹配Email地址的正则表达式 |
^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$ | 匹配网址URL的正则表达式 |
^[a-zA-Z][a-zA-Z0-9_]{4,15}$ | 匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线) |
(\d{3}-|\d{4}-)?(\d{8}|\d{7})? | 匹配国内电话号码 |
^[1-9]*[1-9][0-9]*$ | 匹配腾讯QQ号 |