常见正则表达式使用参考

目录

一、正则函数

1.REGEXP

2.regexp_replace

3.regexp_extract

二、正则表达式

三、特殊字符转义


一、正则函数

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

\\;

{

\\{

}

\\}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在JavaScript中,可以使用正则表达式来进行字符串的处理。正则表达式的基本语法是使用斜杠 (/) 包围起来的模式,模式可以包含各种字符和特殊的元字符来匹配字符串中的内容。 以下是一些常见正则表达式用法: 1. 创建正则表达式对象: 可以使用 `RegExp` 构造函数来创建一个正则表达式对象,例如 `var regex = new RegExp('pattern')` 或者 `var regex = /pattern/`。 2. 匹配字符串: 可以使用 `test()` 方法来判断一个字符串是否匹配某个正则表达式,例如 `regex.test(string)`。 3. 查找和替换字符串: 可以使用 `match()` 方法来查找一个字符串中与正则表达式匹配的部分,例如 `string.match(regex)`。 还可以使用 `replace()` 方法来替换一个字符串中与正则表达式匹配的部分,例如 `string.replace(regex, replacement)`。 4. 提取字符串: 可以使用 `exec()` 方法来提取字符串中与正则表达式匹配的部分,例如 `regex.exec(string)`。 5. 切割字符串: 可以使用 `split()` 方法来根据正则表达式将一个字符串拆分成多个部分,例如 `string.split(regex)`。 以上只是正则表达式的一些基本用法,在实际使用中还可以结合各种元字符和修饰符来进行更复杂的匹配和处理。详细的使用方法可以参考引用和引用[2]中提到的文章,它们对正则表达式的基础知识和在JavaScript中的使用做了详细的介绍。请注意,这些文章可能有一些不严谨的地方,所以在实际使用中还需要结合其他资源进行验证和进一步学习。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [详解Javascript中正则表达式使用](https://blog.csdn.net/weixin_30315723/article/details/99934270)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值