Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >常见正则表达式使用参考

常见正则表达式使用参考

作者头像
chimchim
发布于 2023-10-17 00:51:54
发布于 2023-10-17 00:51:54
2280
举报

一、正则函数

1.REGEXP

语法格式: A REGEXP B (A是需要匹配的字符串,B是正则表达式字符串)

操作类型: strings 

描述: 功能与RLIKE相同

select '你好啊' regexp '你好';

select '你好啊' regexp '不好';

2.regexp_replace

语法格式: regexp_replace(string A, string B, string C) 

返回值: string

说明:将字符串A中的符合java正则表达式B的部分替换为C。注意,在有些情况下要使用转义字符,类似oracle中的regexp_replace函数。

select regexp_replace('四川办第1名', '\\d+', '一');

3.regexp_extract

语法格式:regexp_extract(string subject, string pattern, int index)

返回值: string

说明:将字符串subject按照pattern正则表达式的规则拆分,返回index指定的字符,index从1开始计。

select regexp_extract('四川办:第1名', '([0-9]+)', 1);

二、正则表达式

匹配规则

表达式

中文字符

[\u4e00-\u9fa5]

双字节字符(包含汉字在内)

[^\x00-\xff]

空白行

\n\s*\r

email地址

[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?

网址URL

[a-zA-z]+://[^\s]*

国内电话号码

\d{3}-\d{8}|\d{4}-\{7,8}

腾讯qq号

[1-9][0-9]{4,}

中国邮政编码

[1-9]\d{5}(?!\d)

18位身份证号

^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$

(年-月-日)格式日期

([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8])))

正整数

^[1-9]\d*$

负整数

^-[1-9]\d*$

整数

^-?[1-9]\d*$

非负整数(正整数+0)

^[1-9]\d*|0$

非正整数(负整数+0)

^-[1-9]\d*|0$

正浮点数

^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$

负浮点数

^-[1-9]\d*\.\d*|-0\.\d*[1-9]\d*$

^

匹配输入字符串开始的位置。

$

匹配输入字符串结尾的位置。

.

匹配除"\r\n"之外的任何单个字符。

[...]

字符集。匹配包含的任一字符。例如,"[abc]"匹配"plain"中的"a"。

[^...]

反向字符集。匹配未包含的任何字符。例如,"[^abc]"匹配"plain"中"p","l","i","n"。

\\A

匹配输入字符串开始的位置(无多行支持)

\\z

字符串结尾(类似$,但不受处理多行选项的影响)

\\Z

字符串结尾或行尾(不受处理多行选项的影响)

re*

重复零次或更多次

re+

重复一次或更多次

re?

重复零次或一次

re{ n}

重复n次

re{ n,}

re{ n, m}

重复n到m次

a|b

匹配 a 或者 b

(re)

匹配 re,并捕获文本到自动命名的组里

(?: re)

匹配 re,不捕获匹配的文本,也不给此分组分配组号

(?> re)

贪婪子表达式

\\w

匹配字母或数字或下划线或汉字

\\W

匹配任意不是字母,数字,下划线,汉字的字符

\\s

匹配任意的空白符,相等于 [\t\n\r\f]

\\S

匹配任意不是空白符的字符

\\d

匹配数字,类似 [0-9]

\\D

匹配任意非数字的字符

\\G

当前搜索的开头

\\n

换行符

\\b

通常是单词分界位置,但如果在字符类里使用代表退格

\\B

匹配不是单词开头或结束的位置

\\t

制表符

\\Q

开始引号:\Q(a+b)*3\E 可匹配文本 "(a+b)*3"。

\\E

结束引号:\Q(a+b)*3\E 可匹配文本 "(a+b)*3"。

三、特殊字符转义

要转义的字符

转义字符

.

\\.

\

\\\\

换行符

\\n

\\;

{

\\{

}

\\}

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-02-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
精通正则表达式 - 正则表达式实用技巧
        希望匹配连续多行文本,常见的情况是,一个逻辑行(logical line)可以分为许多现实的行,每一行以反斜杠结尾。
用户1148526
2023/10/14
1K0
Java 正则表达式的用法和实例
6、\S符号:非空字符 7、\s符号:空字符,只可以匹配一个空格、制表符、回车符、换页符,不可以匹配自己输入的多个空格。 8、\r符号:空格符,与\n、\tab相同
全栈程序员站长
2022/08/30
1.2K0
Java 正则表达式的用法和实例
知识总结:常用正则表达式正则表达式
正则表达式 常用正则表达式大全!(例如:匹配中文、匹配html) 匹配中文字符的正则表达式: [u4e00-u9fa5]  评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包
牛客网
2018/04/28
1K0
详细的正则表达式
只能输入数字:"^[0-9]*$"。 只能输入n位的数字:"^\d{n}$"。 只能输入至少n位的数字:"^\d{n,}$"。 只能输入m~n位的数字:。"^\d{m,n}$" 只能输入零和非零开头的
Dawnzhang
2018/10/18
6550
PHP常用正则表达式大全
  匹配数字   "^\d+$" //非负整数(正整数 + 0)   "^[0-9]*[1-9][0-9]*$" //正整数   "^((-\d+)|(0+))$" //非正整数(负整数 + 0)  
思梦php
2018/03/09
2.7K0
PHP常用正则表达式大全
PHP 正则表达式及常用正则汇总
正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。
V站CEO-西顾
2018/06/10
3.9K2
PHP常用正则表达式汇总
正则表达式匹配IP ((25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)\.){3}(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|[1-9]) 1. 平时做网站经常要用正则表达式,下面是一些讲解和例子,仅供大家参考和修改使用: 2. "^\d+$"  //非负整数(正整数 + 0) 3. "^[0-9]*[1-9][0-9]*$"  //正整数 4. "^((-\d+)|(0+))$"  //非正整数(负整数 + 0) 5. "^-[0-
大师级码师
2021/10/27
2.5K0
java正则表达式大全
整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$ 只能输入数字:"^[0-9]*$"。 只能输入n位的数字:"^\d{n}$"。 只能输入至少n位的数字:"^\d{n,}$"。 只能输
静谧星空TEL
2021/04/27
1.4K0
常用正则表达式
一, 1.^\d+$    //匹配非负整数(正整数 + 0) ---^:以数字开头 +:之前紧邻出现的一次或多次 2.[0-9]*[1-9][0-9]*$    //匹配正整数 3.^((-\d
用户1197315
2018/01/22
3K0
C#常见正则表达式
"^\d+$" //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$" //正整数 "^((-\d+)|(0+))$" //非正整数(负整数 + 0) "^-[0-9]*[1
恋喵大鲤鱼
2018/08/03
7480
最全的js正则表达式用法大全_js正则表达式语法大全
匹配中文字符的正则表达式: [u4e00-u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^x00-xff] 评注:可以用来计算字符串的长
全栈程序员站长
2022/11/16
5.1K0
PHP正则表达式笔记与实例详解
这两天工作用到了正则表达式,发现自己已经忘记的差不多了,囧啊!找来以前的学习笔记,好好看了一下,又巩固了这些知识,工作算是完成了,不过正则要学的东西还是蛮多的,以下是整理的以前的笔记和一些实例!
用户8675788
2021/07/13
1.2K0
版本号的正则表达式-常见正则表达式大全
  评注:腾讯QQ号从10000开始   匹配中国邮政编码:[1-9]d{5}(?!d)   评注:中国邮政编码为6位数字   匹配身份证:d{15}|d{18}   评注:中国的身份证为15位或18
宜轩
2022/12/29
9230
常用正则表达式
/^([0-9]{1,}\.[0-9]{1,}|[0-9]{1,})$/    数字或小数点
Java架构师必看
2020/04/22
6750
正则表达式
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/details/11712743
DannyHoo
2018/09/13
1.6K0
正则表达式
正则表达式必知必会 - 使用元字符
        元字符是一些在正则表达式里有着特殊含义的字符。英文句号 . 是一个元字符,它可以用来匹配任意单个字符。类似地,左方括号 [ 也是一个元字符,它标志着一个字符集合的开始。因为元字符在正则表达式里有着特殊的含义,所以这些字符就无法用来代表它们本身。例如不能使用 [ 来匹配 [ 本身,也不能使用 . 来匹配 . 本身。来看一个例子,用一个正则表达式去匹配一个包含 [ 和 ] 字符的 JavaScript 数组。
用户1148526
2023/10/14
3290
一些常用实用的正则表达式
匹配中文字符的正则表达式: [\u4e00-\u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^\x00-\xff] 评注:可以用来计算字符
听着music睡
2018/05/18
7150
鸿蒙开发:了解正则表达式
从给出的文本中,按照既定的相关规则,匹配出符合的数据,其中的规则就是正则表达式,使用正则表达式,可以使得我们用简洁的代码就能实现一定复杂的逻辑,比如判断一个邮箱账号是否符合正常的邮箱账号,再比如判断一个手机号是否正常的手机号,等等,正因为有了正则,得以让文本处理起来更加的简单。
程序员一鸣
2024/12/29
1950
鸿蒙开发:了解正则表达式
常用的正则表达式
正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。
崔笑颜
2020/12/22
9340
一个正则表达式测试(只可输入中文、字母和数字)
  在项目中碰到了正则表达式的运用,正则还是非常强大的,不管什么编程语言,基本上都可以用到。之前在用java时特别是对用户名或密码使用正则非常爽,写脚本上用正则也非常爽,可是到了OC这却把我虐了一把,可能是对OC掌握的不够。这里就罗列了从网上找的很有用的资料,感谢大神们的贡献。 首先举一个例子: 匹配9-15个由字母/数字组成的字符串的正则表达式: NSString * regex = @"^[A-Za-z0-9]{9,15}$"; NSPredicate *pred = [NSPredi
猿人谷
2018/01/17
5.7K0
相关推荐
精通正则表达式 - 正则表达式实用技巧
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档