正则表达式验证介绍
正则表达式在线验证工具:正则表达式检测,在线正则表达式检测工具,正则表达式,利用正则表达式提取网址Url内容,可自定义匹配校验内容,在线格式化,在线工具
正则表达式测试工具介绍
正则表达式测试工具介绍
正则表达式测试工具为您提供js正则表达式验证,正则表达式验证,正则表达式校验,正则表达式测试工具,可在线自定义正则表达式提取文本内容,对任意正则表达式进行校验,正则表达式提取网址,正则表达式在线格式化等,希望对大家有帮助。
正则表达式的作用
正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。正则表达式是繁琐的,但它是强大的,学会之后的应用会让你除了提高效率外,会给你带来绝对的成就感,许多程序设计语言都支持利用正则表达式进行字符串操作。
常用元字符
| 代码 | 说明 |
|---|---|
| . | 匹配除换行符以外的任意字符 |
| \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号 |
常见问题(FAQ)
正则表达式中的贪婪和非贪婪有什么区别?
贪婪模式(默认):尽可能匹配更长的字符串,如.*会匹配到最后一个符合条件的字符。非贪婪模式:在量词后加?,如.*?,匹配到第一个符合条件的字符就停止。提取HTML标签内容时常用非贪婪模式。
如何匹配中文?
匹配中文字符:[\u4e00-\u9fa5]。匹配中文、英文、数字:[\u4e00-\u9fa5a-zA-Z0-9]。注意JavaScript中需要使用Unicode编码范围,Python可使用\p{Han}(需regex库)或直接使用中文范围。
如何提取括号内的内容?
使用分组捕获:\(([^)]+)\)提取圆括号内的内容。第一个分组(索引1)即为括号内的文本。JavaScript:str.match(/\(([^)]+)\)/)[1]。Python:re.search(r'\(([^)]+)\)', s).group(1)。
正则表达式如何跨行匹配?
默认情况下.不匹配换行符。解决方案:1)使用[\s\S]匹配任意字符包括换行;2)JavaScript使用s标志(dotAll模式);3)Python使用re.DOTALL标志。多行模式m是让^$匹配每行的开头结尾,不是让.匹配换行。
如何验证手机号、邮箱等常用格式?
手机号:^1[3-9]\d{9}$。邮箱:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$。身份证:^\d{17}[\dXx]$。IP地址:^((25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)\.){3}(25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)$。本工具已内置常用正则,点击即可使用。
相关推荐
您可能还会喜欢这些同类工具
插件评论 0
欢迎留言,您的评论会帮助我们改进!