快来领取你的JavaScript正则表达式速查表

js常用方法速查表 ?pushpopsplicemapfilterslice===:多利用浏览器控制台(F12)测试代码片段,实践是掌握 JavaScript 的最佳路径!🚀。 阅读详情

如果我们想对字符串进行相关(增、删、改、查、检索)操作,就可以用接下来的正则表达式实现

什么是正则表达式

  • 正则表达式是用于匹配字符串中字符组合的模式
  • 正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本

那么今天为大家分享一个整理完整的常用正则表达式的规则与示例,希望对你学前端这条路上更加有帮助!

一、基础匹配规则

1. 字符匹配

表达式

描述

[abc]

字符集。匹配集合中所含的任一字符。

[^abc]

否定字符集。匹配任何不在集合中的字符。

[a-z]

字符范围。匹配指定范围内的任意字符。

.

匹配除换行符以外的任何单个字符。

\

转义字符。

\w

匹配任何字母数字,包括下划线(等价于[A-Za-z0-9_])。

\W

匹配任何非字母数字(等价于[^A-Za-z0-9_])。

\d

数字。匹配任何数字。

\D

非数字。匹配任何非数字字符。

\s

空白。匹配任何空白字符,包括空格、制表符等。

\S

非空白。匹配任何非空白字符。

左右滑动观看完整的内容

2. 分组和引用

表达式

描述

(expression)

分组。匹配括号里的整个表达式。

(?:expression)

非捕获分组。匹配括号里的整个字符串但不获取匹配结果,拿不到分组引用。

\num

对前面所匹配分组的引用。比如(\d)\1可以匹配两个相同的数字,(Code)(Sheep)\1\2则可以匹配CodeSheepCodeSheep。

左右滑动观看完整的内容

3. 锚点、边界

表达式

描述

^

匹配字符串或行开头。

$

匹配字符串或行结尾。

\b

匹配单词边界。比如Sheep\b可以匹配CodeSheep末尾的Sheep,不能匹配CodeSheepCode中的Sheep

\B

匹配非单词边界。比如Code\B可以匹配HelloCodeSheep中的Code,不能匹配HelloCode中的Code。

左右滑动观看完整的内容

4. 数量匹配

表达式

描述

?

匹配前面的表达式0个或1个。即表示可选项。

+

匹配前面的表达式至少1个。

*

匹配前面的表达式0个或多个。

|

或运算符。并集,可以匹配符号前后的表达式。

{m}

匹配前面的表达式m个。

{m,}

匹配前面的表达式最少m个。

{m,n}

匹配前面的表达式最少m个,最多n个。

左右滑动观看完整的内容

5. 预查断言

表达式

描述

(?=)

正向预查。比如Code(?=Sheep)能匹配CodeSheep中的Code,但不能匹配CodePig中的Code。

(?!)

正向否定预查。比如Code(?!Sheep)不能匹配CodeSheep中的Code,但能匹配CodePig中的Code。

(?<=)

反向预查。比如(?<=Code)Sheep能匹配CodeSheep中的Sheep,但不能匹配ReadSheep中的Sheep。

(?<!)

反向否定预查。比如(?<!Code)Sheep不能匹配CodeSheep中的Sheep,但能匹配ReadSheep中的Sheep。

左右滑动观看完整的内容

6. 特殊标志

表达式

描述

/.../i

忽略大小写。

/.../g

全局匹配。

/.../m

多行修饰符。用于多行匹配。

左右滑动观看完整的内容

二、常用正则表达式示例

1. 数字校验

描述

正则表达式

备注

数字

^[0-9]*$

n位数字

^\d{n}$

至少n位数字

^\d{n,}$

m~n位数字

^\d{m,n}$

整数

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

非0开头,包括正整数和负整数

正整数

^[1-9]\d*$

负整数

^-[1-9]\d*$

非负整数

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

非正整数

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

浮点数

^-?(?:[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0\.0+|0)$

包括正浮点数和负浮点数

正浮点数

^(?:[1-9]\d*\.\d*|0\.\d*[1-9]\d*)$

负浮点数

^-(?:[1-9]\d*\.\d*|0\.\d*[1-9]\d*)$

非正浮点数

^(?:-(?:[1-9]\d*\.\d+|0\.\d*[1-9]\d*)|0\.0+|0)$

包含0

非负浮点数

^(?:[1-9]\d*\.\d+|0\.\d+|0\.0+|0)$

包含0

仅一位小数

^-?(?:0|[1-9][0-9]*)\.[0-9]{1}$

最少一位小数

^-?(?:0|[1-9][0-9]*)\.[0-9]{1,}$

最多两位小数

^-?(?:0|[1-9][0-9]*)\.[0-9]{1,2}$

连续重复的数字

^(\d)\1+$

例如:111,222

左右滑动观看完整的内容

2. 字符校验

描述

正则表达式

备注

中文

^[\u4E00-\u9FA5]+$

全角字符

^[\uFF00-\uFFFF]+$

半角字符

^[\u0000-\u00FF]+$

英文字符串(大写)

^[A-Z]+$

英文字符串(小写)

^[a-z]+$

英文字符串(不区分大小写)

^[A-Za-z]+$

中文和数字

^(?:[\u4E00-\u9FA5]{0,}|\d)+$

英文和数字

^[A-Za-z0-9]+$

数字、英文字母或者下划线组成的字符串

^\w+$

中文、英文、数字包括下划线

^[\u4E00-\u9FA5\w]+$

不含字母的字符串

^[^A-Za-z]*$

连续重复的字符串

^(.)\1+$

例如:aa,bb

长度为n的字符串

^.{n}$

ASCII

^[ -~]$

左右滑动观看完整的内容

3. 日期和时间校验

描述

正则表达式

备注

日期

^\d{1,4}-(?:1[0-2]|0?[1-9])-(?:0?[1-9]|[1-2]\d|30|31)$

弱校验,<br /例如:2022-06-12

日期

^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$

严格校验,考虑平闰年

时间

^(?:1[0-2]|0?[1-9]):[0-5]\d:[0-5]\d$

12小时制,例如:11:21:31

时间

^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$

24小时制,例如:23:21:31

日期+时间

^(\d{1,4}-(?:1[0-2]|0?[1-9])-(?:0?[1-9]|[1-2]\d|30|31)) ((?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d)$

例如:2000-11-11 23:20:21

左右滑动观看完整的内容

4. 日常生活相关

描述

正则表达式

备注

中文名

^[\u4E00-\u9FA5·]{2,16}$

英文名

^[a-zA-Z][a-zA-Z\s]{0,20}[a-zA-Z]$

车牌号

^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]$

不含新能源

车牌号

^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z](?:(?:[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳])|(?:(?:\d{5}[A-HJK])|(?:[A-HJK][A-HJ-NP-Z0-9][0-9]{4})))$

包含新能源

火车车次

^[GCDZTSPKXLY1-9]\d{1,4}$

例如:G1234

手机号

^(?:(?:\+|00)86)?1[3-9]\d{9}$

弱匹配

手机号

^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$

严格匹配

固话号码

^(?:(?:\d{3}-)?\d{8}|^(?:\d{4}-)?\d{7,8})(?:-\d+)?$

手机IMEI码

^\d{15,17}$

一般是15位

邮编

^(?:0[1-7]|1[0-356]|2[0-7]|3[0-6]|4[0-7]|5[1-7]|6[1-7]|7[0-5]|8[013-6])\d{4}$

例如:211100

统一社会信用代码

^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$

身份证号码(1代)

^[1-9]\d{7}(?:0\d|10|11|12)(?:0[1-9]|[1-2][\d]|30|31)\d{3}$

15位数字

身份证号码(2代)

^[1-9]\d{5}(?:18|19|20)\d{2}(?:0[1-9]|10|11|12)(?:0[1-9]|[1-2]\d|30|31)\d{3}[0-9Xx]$

18位数字

QQ号

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

一般是5到10位

微信号

^[a-zA-Z][-_a-zA-Z0-9]{5,19}$

一般6~20位,字母开头,可包含字母、数字、-、_,不含特殊字符

股票代码

^(s[hz]|S[HZ])(000[\d]{3}|002[\d]{3}|300[\d]{3}|600[\d]{3}|60[\d]{4})$

A股,例如:600519

银行卡卡号

^[1-9]{1}(?:\d{15}|\d{18})$

一般为19位

左右滑动观看完整的内容

  • 互联网相关

描述

正则表达式

备注

域名

^[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(?:\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+$

例如:r2coding.com

网址

^(?:https?:\/\/)?[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(?:\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+$

例如:https://www.***.com/

带端口号的网址(或IP)

^(?:https?:\/\/)?[\w-]+(?:\.[\w-]+)+:\d{1,5}\/?$

如:http://127.0.0.1:8888/

URL

^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()!@:%_\+.~#?&\/\/=]*)$

例如:https://www.***.com/#/README?id=1

邮箱email

^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(?:\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+$

支持中文,例如:codesheep@cs.com

用户名

^[a-zA-Z0-9_-]{4,20}$

4到20位

弱密码

^[\w]{6,16}$

6~16位,包含大小写字母和数字的组合

强密码

^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@\.#$%^&*? ]).*$

至少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符

端口号

^(?:[0-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$

例如:65535

IPv4地址

^(?:(?:\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.){3}(?:\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])$

例如:192.168.31.1

IPv4地址+端口

^(?:(?:\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.){3}(?:\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])(?::(?:[0-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]))?$

例如:192.168.31.1:8080

IPv6地址

^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$

例如:
CDCD:910A:2222:5498:8475:1111:3900:2020

IPv6地址+端口

^\[(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\](?::(?:[0-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]))?$

例如:[
CDCD:910A:2222:5498:8475:1111:3900:2020]:9800

子网掩码

^(?:254|252|248|240|224|192|128)\.0\.0\.0|255\.(?:254|252|248|240|224|192|128|0)\.0\.0|255\.255\.(?:254|252|248|240|224|192|128|0)\.0|255\.255\.255\.(?:255|254|252|248|240|224|192|128|0)$

例如:255.255.255.0

MAC地址

^(?:(?:[a-f0-9A-F]{2}:){5}|(?:[a-f0-9A-F]{2}-){5})[a-f0-9A-F]{2}$

Version版本号

^\d+(?:\.\d+){2}$

例如:12.1.1

图片后缀

\.(gif|png|jpg|jpeg|webp|svg|psd|bmp|tif)+

可按需增删扩展名集合

视频后缀

\.(swf|avi|flv|mpg|rm|mov|wav|asf|3gp|mkv|rmvb|mp4)+

可按需增删扩展名集合

图片链接

(?:https?:\/\/)?[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(?:\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+.+\.(gif|png|jpg|jpeg|webp|svg|psd|bmp|tif)

可按需增删扩展名集合

视频链接

(?:https?:\/\/)?[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(?:\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+.+\.(swf|avi|flv|mpg|rm|mov|wav|asf|3gp|mkv|rmvb|mp4)

可按需增删扩展名集合

迅雷链接

thunderx?:\/\/[a-zA-Z\d]+=

ed2k链接

ed2k:\/\/\|file\|.+\|\/

磁力链接

magnet:\?xt=urn:btih:[0-9a-fA-F]{40,}.*

左右滑动观看完整的内容

5. 其他

描述

正则表达式

备注

MD5格式

^(?:[a-f\d]{32}|[A-F\d]{32})$

32位MD5,例如:
7552E7071B118CBFFEC8C930455B4297

BASE64格式

^\s*data:(?:[a-z]+\/[a-z0-9-+.]+(?:;[a-z-]+=[a-z0-9-]+)?)?(?:;base64)?,([a-z0-9!$&',()*+;=\-._~:@/?%\s]*?)\s*$

例如:data:image/jpeg;base64,xxxx==

UUID

^[a-f\d]{4}(?:[a-f\d]{4}-){4}[a-f\d]{12}$

例如:
94f9d45a-71b0-4b3c-b69d-20c4bc9c8fdd

16进制

^[A-Fa-f0-9]+$

例如:FFFFFF

16进制颜色

^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$

例如:#FFFFFF

SQL语句

^(?:select|drop|delete|create|update|insert).*$

Java包名

^(?:[a-zA-Z_]\w*)+(?:[.][a-zA-Z_]\w*)+$

例如:com.r2coding.controller

文件扩展名

\.(?:doc|pdf|txt)

可按需增删扩展名集合

Windows文件路径

^[a-zA-Z]:(?:\\[\w\u4E00-\u9FA5\s]+)+[.\w\u4E00-\u9FA5\s]+$

例如:C:\Users\Administrator\Desktop\a.txt

Windows文件夹路径

^[a-zA-Z]:(?:\\[\w\u4E00-\u9FA5\s]+)+$

例如:C:\Users\Administrator\Desktop

Linux文件路径

^\/(?:[^/]+\/)*[^/]+$

例如:/root/library/a.txt

Linux文件夹路径

^\/(?:[^/]+\/)*$

例如:/root/library/

左右滑动观看完整的内容

如果对你有帮助,记得点赞支持哦,目前我们的系统班正在讲解JavaScript正则表达式,这个课程讲完系统班的JavaScript阶段就算完结了,正式开始进入ES6阶段了,这几个月我们在JavaScript课程中融入了大量的面试题、算法以及底层原理知识,目的就是为了帮助大家夯实基础,查漏补缺,有 扎实的JavaScript基础,对于学到后面阶段更加有帮助!这也是2023年通向职业道路,面试求职必须要懂得的技术能力!感兴趣可以联系我参与!

为了更好的让大家认识到JavaScript的精髓,我们在三十天计划群里推出了几节非常重要的JavaScript课程体系,而且每个系列知识点都保障是完整的。感兴趣可以通过下方的练习方式参与课程哦 。如果你正在学习JavaScript,我们已经在三十天计划中完成了4个综合项目实战,那不妨可以听下这个课程体系,三十天计划群里还提供了算法、数组等知识体系!如果我们想对字符串进行相关(增、删、改、查、检索)操作,就可以用接下来的正则表达式实现

什么是正则表达式

  • 正则表达式是用于匹配字符串中字符组合的模式
  • 正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本

那么今天为大家分享一个整理完整的常用正则表达式的规则与示例,希望对你学前端这条路上更加有帮助!

一、基础匹配规则

1. 字符匹配

表达式

描述

[abc]

字符集。匹配集合中所含的任一字符。

[^abc]

否定字符集。匹配任何不在集合中的字符。

[a-z]

字符范围。匹配指定范围内的任意字符。

.

匹配除换行符以外的任何单个字符。

\

转义字符。

\w

匹配任何字母数字,包括下划线(等价于[A-Za-z0-9_])。

\W

匹配任何非字母数字(等价于[^A-Za-z0-9_])。

\d

数字。匹配任何数字。

\D

非数字。匹配任何非数字字符。

\s

空白。匹配任何空白字符,包括空格、制表符等。

\S

非空白。匹配任何非空白字符。

左右滑动观看完整的内容

2. 分组和引用

表达式

描述

(expression)

分组。匹配括号里的整个表达式。

(?:expression)

非捕获分组。匹配括号里的整个字符串但不获取匹配结果,拿不到分组引用。

\num

对前面所匹配分组的引用。比如(\d)\1可以匹配两个相同的数字,(Code)(Sheep)\1\2则可以匹配CodeSheepCodeSheep。

左右滑动观看完整的内容

3. 锚点、边界

表达式

描述

^

匹配字符串或行开头。

$

匹配字符串或行结尾。

\b

匹配单词边界。比如Sheep\b可以匹配CodeSheep末尾的Sheep,不能匹配CodeSheepCode中的Sheep

\B

匹配非单词边界。比如Code\B可以匹配HelloCodeSheep中的Code,不能匹配HelloCode中的Code。

左右滑动观看完整的内容

4. 数量匹配

表达式

描述

?

匹配前面的表达式0个或1个。即表示可选项。

+

匹配前面的表达式至少1个。

*

匹配前面的表达式0个或多个。

|

或运算符。并集,可以匹配符号前后的表达式。

{m}

匹配前面的表达式m个。

{m,}

匹配前面的表达式最少m个。

{m,n}

匹配前面的表达式最少m个,最多n个。

左右滑动观看完整的内容

5. 预查断言

表达式

描述

(?=)

正向预查。比如Code(?=Sheep)能匹配CodeSheep中的Code,但不能匹配CodePig中的Code。

(?!)

正向否定预查。比如Code(?!Sheep)不能匹配CodeSheep中的Code,但能匹配CodePig中的Code。

(?<=)

反向预查。比如(?<=Code)Sheep能匹配CodeSheep中的Sheep,但不能匹配ReadSheep中的Sheep。

(?<!)

反向否定预查。比如(?<!Code)Sheep不能匹配CodeSheep中的Sheep,但能匹配ReadSheep中的Sheep。

左右滑动观看完整的内容

6. 特殊标志

表达式

描述

/.../i

忽略大小写。

/.../g

全局匹配。

/.../m

多行修饰符。用于多行匹配。

左右滑动观看完整的内容

二、常用正则表达式示例

1. 数字校验

描述

正则表达式

备注

数字

^[0-9]*$

n位数字

^\d{n}$

至少n位数字

^\d{n,}$

m~n位数字

^\d{m,n}$

整数

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

非0开头,包括正整数和负整数

正整数

^[1-9]\d*$

负整数

^-[1-9]\d*$

非负整数

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

非正整数

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

浮点数

^-?(?:[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0\.0+|0)$

包括正浮点数和负浮点数

正浮点数

^(?:[1-9]\d*\.\d*|0\.\d*[1-9]\d*)$

负浮点数

^-(?:[1-9]\d*\.\d*|0\.\d*[1-9]\d*)$

非正浮点数

^(?:-(?:[1-9]\d*\.\d+|0\.\d*[1-9]\d*)|0\.0+|0)$

包含0

非负浮点数

^(?:[1-9]\d*\.\d+|0\.\d+|0\.0+|0)$

包含0

仅一位小数

^-?(?:0|[1-9][0-9]*)\.[0-9]{1}$

最少一位小数

^-?(?:0|[1-9][0-9]*)\.[0-9]{1,}$

最多两位小数

^-?(?:0|[1-9][0-9]*)\.[0-9]{1,2}$

连续重复的数字

^(\d)\1+$

例如:111,222

左右滑动观看完整的内容

2. 字符校验

描述

正则表达式

备注

中文

^[\u4E00-\u9FA5]+$

全角字符

^[\uFF00-\uFFFF]+$

半角字符

^[\u0000-\u00FF]+$

英文字符串(大写)

^[A-Z]+$

英文字符串(小写)

^[a-z]+$

英文字符串(不区分大小写)

^[A-Za-z]+$

中文和数字

^(?:[\u4E00-\u9FA5]{0,}|\d)+$

英文和数字

^[A-Za-z0-9]+$

数字、英文字母或者下划线组成的字符串

^\w+$

中文、英文、数字包括下划线

^[\u4E00-\u9FA5\w]+$

不含字母的字符串

^[^A-Za-z]*$

连续重复的字符串

^(.)\1+$

例如:aa,bb

长度为n的字符串

^.{n}$

ASCII

^[ -~]$

左右滑动观看完整的内容

3. 日期和时间校验

描述

正则表达式

备注

日期

^\d{1,4}-(?:1[0-2]|0?[1-9])-(?:0?[1-9]|[1-2]\d|30|31)$

弱校验,<br /例如:2022-06-12

日期

^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$

严格校验,考虑平闰年

时间

^(?:1[0-2]|0?[1-9]):[0-5]\d:[0-5]\d$

12小时制,例如:11:21:31

时间

^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$

24小时制,例如:23:21:31

日期+时间

^(\d{1,4}-(?:1[0-2]|0?[1-9])-(?:0?[1-9]|[1-2]\d|30|31)) ((?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d)$

例如:2000-11-11 23:20:21

左右滑动观看完整的内容

4. 日常生活相关

描述

正则表达式

备注

中文名

^[\u4E00-\u9FA5·]{2,16}$

英文名

^[a-zA-Z][a-zA-Z\s]{0,20}[a-zA-Z]$

车牌号

^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]$

不含新能源

车牌号

^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z](?:(?:[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳])|(?:(?:\d{5}[A-HJK])|(?:[A-HJK][A-HJ-NP-Z0-9][0-9]{4})))$

包含新能源

火车车次

^[GCDZTSPKXLY1-9]\d{1,4}$

例如:G1234

手机号

^(?:(?:\+|00)86)?1[3-9]\d{9}$

弱匹配

手机号

^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$

严格匹配

固话号码

^(?:(?:\d{3}-)?\d{8}|^(?:\d{4}-)?\d{7,8})(?:-\d+)?$

手机IMEI码

^\d{15,17}$

一般是15位

邮编

^(?:0[1-7]|1[0-356]|2[0-7]|3[0-6]|4[0-7]|5[1-7]|6[1-7]|7[0-5]|8[013-6])\d{4}$

例如:211100

统一社会信用代码

^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$

身份证号码(1代)

^[1-9]\d{7}(?:0\d|10|11|12)(?:0[1-9]|[1-2][\d]|30|31)\d{3}$

15位数字

身份证号码(2代)

^[1-9]\d{5}(?:18|19|20)\d{2}(?:0[1-9]|10|11|12)(?:0[1-9]|[1-2]\d|30|31)\d{3}[0-9Xx]$

18位数字

QQ号

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

一般是5到10位

微信号

^[a-zA-Z][-_a-zA-Z0-9]{5,19}$

一般6~20位,字母开头,可包含字母、数字、-、_,不含特殊字符

股票代码

^(s[hz]|S[HZ])(000[\d]{3}|002[\d]{3}|300[\d]{3}|600[\d]{3}|60[\d]{4})$

A股,例如:600519

银行卡卡号

^[1-9]{1}(?:\d{15}|\d{18})$

一般为19位

左右滑动观看完整的内容

  • 互联网相关

描述

正则表达式

备注

域名

^[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(?:\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+$

例如:r2coding.com

网址

^(?:https?:\/\/)?[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(?:\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+$

例如:https://www.***.com/

带端口号的网址(或IP)

^(?:https?:\/\/)?[\w-]+(?:\.[\w-]+)+:\d{1,5}\/?$

如:http://127.0.0.1:8888/

URL

^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()!@:%_\+.~#?&\/\/=]*)$

例如:https://www.***.com/#/README?id=1

邮箱email

^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(?:\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+$

支持中文,例如:codesheep@cs.com

用户名

^[a-zA-Z0-9_-]{4,20}$

4到20位

弱密码

^[\w]{6,16}$

6~16位,包含大小写字母和数字的组合

强密码

^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@\.#$%^&*? ]).*$

至少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符

端口号

^(?:[0-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$

例如:65535

IPv4地址

^(?:(?:\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.){3}(?:\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])$

例如:192.168.31.1

IPv4地址+端口

^(?:(?:\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.){3}(?:\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])(?::(?:[0-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]))?$

例如:192.168.31.1:8080

IPv6地址

^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$

例如:
CDCD:910A:2222:5498:8475:1111:3900:2020

IPv6地址+端口

^\[(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\](?::(?:[0-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]))?$

例如:[
CDCD:910A:2222:5498:8475:1111:3900:2020]:9800

子网掩码

^(?:254|252|248|240|224|192|128)\.0\.0\.0|255\.(?:254|252|248|240|224|192|128|0)\.0\.0|255\.255\.(?:254|252|248|240|224|192|128|0)\.0|255\.255\.255\.(?:255|254|252|248|240|224|192|128|0)$

例如:255.255.255.0

MAC地址

^(?:(?:[a-f0-9A-F]{2}:){5}|(?:[a-f0-9A-F]{2}-){5})[a-f0-9A-F]{2}$

Version版本号

^\d+(?:\.\d+){2}$

例如:12.1.1

图片后缀

\.(gif|png|jpg|jpeg|webp|svg|psd|bmp|tif)+

可按需增删扩展名集合

视频后缀

\.(swf|avi|flv|mpg|rm|mov|wav|asf|3gp|mkv|rmvb|mp4)+

可按需增删扩展名集合

图片链接

(?:https?:\/\/)?[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(?:\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+.+\.(gif|png|jpg|jpeg|webp|svg|psd|bmp|tif)

可按需增删扩展名集合

视频链接

(?:https?:\/\/)?[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(?:\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+.+\.(swf|avi|flv|mpg|rm|mov|wav|asf|3gp|mkv|rmvb|mp4)

可按需增删扩展名集合

迅雷链接

thunderx?:\/\/[a-zA-Z\d]+=

ed2k链接

ed2k:\/\/\|file\|.+\|\/

磁力链接

magnet:\?xt=urn:btih:[0-9a-fA-F]{40,}.*

左右滑动观看完整的内容

5. 其他

描述

正则表达式

备注

MD5格式

^(?:[a-f\d]{32}|[A-F\d]{32})$

32位MD5,例如:
7552E7071B118CBFFEC8C930455B4297

BASE64格式

^\s*data:(?:[a-z]+\/[a-z0-9-+.]+(?:;[a-z-]+=[a-z0-9-]+)?)?(?:;base64)?,([a-z0-9!$&',()*+;=\-._~:@/?%\s]*?)\s*$

例如:data:image/jpeg;base64,xxxx==

UUID

^[a-f\d]{4}(?:[a-f\d]{4}-){4}[a-f\d]{12}$

例如:
94f9d45a-71b0-4b3c-b69d-20c4bc9c8fdd

16进制

^[A-Fa-f0-9]+$

例如:FFFFFF

16进制颜色

^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$

例如:#FFFFFF

SQL语句

^(?:select|drop|delete|create|update|insert).*$

Java包名

^(?:[a-zA-Z_]\w*)+(?:[.][a-zA-Z_]\w*)+$

例如:com.r2coding.controller

文件扩展名

\.(?:doc|pdf|txt)

可按需增删扩展名集合

Windows文件路径

^[a-zA-Z]:(?:\\[\w\u4E00-\u9FA5\s]+)+[.\w\u4E00-\u9FA5\s]+$

例如:C:\Users\Administrator\Desktop\a.txt

Windows文件夹路径

^[a-zA-Z]:(?:\\[\w\u4E00-\u9FA5\s]+)+$

例如:C:\Users\Administrator\Desktop

Linux文件路径

^\/(?:[^/]+\/)*[^/]+$

例如:/root/library/a.txt

Linux文件夹路径

^\/(?:[^/]+\/)*$

例如:/root/library/

左右滑动观看完整的内容

如果对你有帮助,记得点赞支持哦,目前我们的系统班正在讲解JavaScript正则表达式,这个课程讲完系统班的JavaScript阶段就算完结了,正式开始进入ES6阶段了,这几个月我们在JavaScript课程中融入了大量的面试题、算法以及底层原理知识,目的就是为了帮助大家夯实基础,查漏补缺,有 扎实的JavaScript基础,对于学到后面阶段更加有帮助!这也是2023年通向职业道路,面试求职必须要懂得的技术能力!感兴趣可以联系我参与!

为了更好的让大家认识到JavaScript的精髓,我们在三十天计划群里推出了几节非常重要的JavaScript课程体系,而且每个系列知识点都保障是完整的。感兴趣可以通过下方的练习方式参与课程哦 。如果你正在学习JavaScript,我们已经在三十天计划中完成了4个综合项目实战,那不妨可以听下这个课程体系,三十天计划群里还提供了算法、数组等知识体系!

前端工程师成长方法

更多完整 JavaScript 课程体系在我们的系统班里有完整的呈现,包含了 JavaScript 基础篇、重点、算法、原理、面试题、实战案例讲解!同时也为你提供了前端高级工程师成长体系!(详细看下图内容)

如果需要深度学习的同学可以联系助理老师了解详细的课程以及课程的报名方式!(不定期会推出活动,有大额优惠券推出,活动详情联系助理老师了解即可!)如果你才开始学习前端,那么可以先学习我们的三十天计划(零基础的同学报名系统班同学可以和老师沟通制定学习计划,可以得到更快的成长!)

为帮助到一部分同学不走弯路,真正达到一线互联网大厂前端项目研发要求,首次实力宠粉,打造了《30天挑战学习计划》,内容如下:

HTML/HTML5,CSS/CSS3,JavaScript,真实企业项目开发,云服务器部署上线,从入门到精通

  • PC端项目开发(1个)
  • 移动WebApp开发(2个)
  • 多端响应式开发(1个)

共4大完整的项目开发 !一行一行代码带领实践开发,实际企业开发怎么做我们就是怎么做。从学习一开始就进入工作状态,省得浪费时间。

从学习一开始就同步使用 Git 进行项目代码的版本的管理,Markdown 记录学习笔记,包括真实大厂项目的开发标准和设计规范,命名规范,项目代码规范,SEO优化规范

从蓝湖UI设计稿 到 PC端,移动端,多端响应式开发项目开发

  • 真机调试,云服务部署上线;
  • Linux环境下 的 Nginx 部署,Nginx 性能优化;
  • Gzip 压缩,HTTPS 加密协议,域名服务器备案,解析;
  • 企业项目域名跳转的终极解决方案,多网站、多系统部署;
  • 使用 使用 Git 在线项目部署;

这些内容在《30天挑战学习计划》中每一个细节都有讲到,包含视频+图文教程+项目资料素材等。只为实力宠粉,真正一次掌握企业项目开发必备技能,不走弯路 !

过程中【不涉及】任何费用和利益,非诚勿扰 。

如果你没有添加助理老师微信,可以添加下方微信,说明要参加30天挑战学习计划,来自优快云!老师会邀请你进入学习,并给你发放相关资料。

30 天挑战学习计划 Web 前端从入门到实战 | arry老师的博客-艾编程

正则表达式速查表 字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求无处不在。 正则表达式是一种匹配字符串的强有力的武器。 它的设计思想是用一种描述性的语言来给字符串定义一个规则。凡是符合规则的字符串,我们就认为它匹配了;否则该字符串就是不合法的。 re 模块,使 Python 语言拥有全部的正则表达式功能。 本文主要包括以下内容: 1.一图总结正则表达式的核心知识点 2.正则表达式的案例实战 3.文... 阅读详情

相关推荐

超越数据手册:深入Zynq XADC的DRP接口与PL端自定义采样逻辑

本文深入探讨Zynq-7000系列XADC模块的DRP接口机制与PL端自定义采样逻辑实现。通过硬件级多通道轮询、触发采样和实时校准技术,突破传统软件驱动限制,为高精度电压测量和通讯应用提供极致灵活性和响应速度。

xxx12的博客 770

正则表达式

正则表达式

bly802337的博客 425

跟着团子学SAP CO:熟练使用结果分析码实现各个场景下收入成本的匹配(一) KKA2/CJ88

PS模块中对财务顾问最难的点在于项目结算,特别是销售型的项目结算。针对客户型项目结算我列举了以下常见的收入成本匹配的一些场景: (1)在项目执行过程中会多次开票,但由于各期成本浮动很大(如前期可能只涉及一些人工、中期全是比较金额较大的材料费),所以希望开票的时候能通过合理的一些指标进行主营业务成本与主营业务收入的匹配。 (2)项目过程中会多次开票,开票确认主营业务收入时,直接将累计发生的实际成本结转为主营业务成本。 (3)项目过程中虽多次开票,但不确认收入,所有发生的实际成本月末计算为在制品,最后项目一次性

Lucas1211的博客 9536

验证手机号码

^(?:(?:\\+|00)86)?1(?:(?:3[\\d])|(?:4[5-7|9])|(?:5[0-3|5-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\\d])|(?:9[1|8|9]))\\d{8}$

小豆花儿的学习之路 505

深入浅出SSD:固态存储核心技术、原理与实战(文末赠书)

作为经典畅销书的升级版,本书在第1版的基础上新增了大量新知识(如闪存、UFS、测试、文件系统等),并改写或删减了许多过时或不适用的内容,总修改量超过60%。本书由SSD技术社区SSDFans的核心团队成员联合业界、高校SSD方面的专家共同完成,相对于第1版,内容更全面、更新,也更有深度。本书从产品、技术和应用3个维度展开,全面、详细讲解了SSD的发展历史、产品形态、工作原理、整体架构,以及各个功能模块的原理和使用,从SSD的前端接口协议到FTL算法,再到后端的闪存和纠错,以及测试,本书都有涉及。

阿玥的小博客 3126

Ubuntu20.04系统笔记本网卡AX211无法找到wifi问题

之前电脑的系统是18.04基本上安装好了系统,可以直接连上wifi,在买了拯救者y9000p2022版本之后,因为网卡太新,安装ubuntu18.04或者20.04之后会没有wifi连接,非常不方便。于是上网找了各种帖子去解决这个问题。具体实现有所不同。 主要参考了这个帖子来解决的:http://t.csdn.cn/7807R 首先: sudo apt install flex bison 然后: git clone https://github.com/intel/backpor.

weixin_42825962的博客 1万+

推荐一款IDEA插件-Any-Rule(附61种常用的正则表达式)

常用的正则表达式

愿你的未来如约而至 ❀ 8617

Innovus: dbGet 快速学习教程

是取反的意思,如下例子,这个选中的instance一共四个pin,当用regexp筛选CK pin后只获得CK pin,加上-v取反后就返回的值就是除CK pin以外的其他三个pin。dbGet有很多option,具体都是干嘛的,怎么用,做个简单介绍。,-p是最常用的option,-p和-p0 -p1是一个东西,-p x它代表从后往前推第x个选项,与-p搭配使用的pattern也是必须的。的意思是返回database整数,而一般我们用的是浮点数,database整数可以参考DEF里的单位去输出。

m0_61544122的博客 6959

【常用正则大全】

如果想要匹配特殊字符的话,就得使用元字符 , 它是转义字符字符,让其后续的字符失去其本来的含义。 字符串边界 边界和标志 正则表达式 记忆方式 单词边界 boundary 非单词边界 not boundary 字符串开头 - 字符串结尾 - 多行模式 标志 multiple of lines 忽略大小写 标志 ignore case, case-insensitive 全局模式 标志 global 回溯引用 所谓 回溯引用(backreference) 指

学习前端这门手艺,栈底到栈顶依次是:浏览器架构、Web 网络、事件循环机制、JavaScript 核心、V8 的内存管理、浏览器的渲染流程、Web 安全、CSS、React、Vue、Node、构建工具链等 2902

如何利用Dpabi,AFNI,FSL软件计算种子点的功能连接?

fsl_glm 得到的是线性回归系数(beta coefficient),由于在自变量和因变量标准化(均值为 0,标准差为 1)的情况下,简单线性回归的回归系数和皮尔逊相关系数是相同的,因此这是一种间接的方法。(3)上一步得到的 PCC.nii.gz 文件是 Harvard-Oxford 概率模板中的后扣带回,每个体素中的数值(1-100)表示该体素属于 PCC 的概率,反映 PCC 在不同被试中的变异大小,也表示我们对于某个体素属于PCC 的信心。接下来,我们来聊聊功能连接在数据处理里的具体应用。

从事脑科学核磁共振方法学研究,在Nature communications等权威期刊发表研究论文,熟练掌握磁共振处理方法和统计学方法,欢迎大家和我交流。 7842

YOLOv11改进策略【卷积层】| ICCV-2023 LSK大核选择模块 包含二次独家创新

LSK module是。

Limiiiing的博客 1386

计算机程序的思维逻辑 (90) - 正则表达式 (下 - 剖析常见表达式)

​88节介绍了正则表达式的语法,上节介绍了正则表达式相关的Java API,本节来讨论和分析一些常用的正则表达式,具体包括: 邮编 电话号码,包括手机号码和固定电话号码 日期和时间 身份证 IP地址 URL Email地址 中文字符 对于同一个目的,正则表达式往往有多种写法,大多没有唯一正确的写法,本节的写法主要是示例。此外,写一个正则表达式,匹配希望匹配的内容...

bangwencai0604的博客 207

计算数列位置N的值

本文介绍了一个数列生成问题,要求根据输入的两个整数M和N生成特定规则的数列,并输出第N个位置上的数值。数列生成规则为:前M个元素为1到M;后续元素根据前M个元素是否重复来决定计算方式(求和或求差)。文章提供了C++、Java和Python三种语言的实现方案,均包含输入处理、数列初始化、循环计算和结果输出等步骤。各语言实现中均使用集合去重特性判断重复元素,并通过内置函数或自定义方法求取最大值和最小值。该问题主要考察基础编程能力,包括数组/列表操作、最值计算和重复元素判断等基本编程技巧。

面试高手的博客 661

探索《正则表达式安全速查表》:保障你的代码安全

探索《正则表达式安全速查表》:保障你的代码安全 去发现同类优质开源项目:https://gitcode.com/ 在编程世界中,正则表达式(RegEx)是必不可少的工具,用于模式匹配和字符串处理。然而,不恰当或不安全的正则表达式可能会成为安全隐患。这就是为什么我们想要向您推荐一个非常实用的开源项目:,它由攻击ercan维护,旨在帮助开发者更好地理解和避免正则表达式中的潜在风险。 项目简介 这个项目...

gitblog_00081的博客 765

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

JS | 正则 · 常用正则表达式速查表

以下是前端开发中。

weixin_42479421的博客 517

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

JavaScript正则表达式学习方法总结

本文系统介绍了正则表达式的学习方法:1.从基础概念入手,区分普通字符和元字符;2.分类记忆关键元字符(位置锚点、数量词、字符类);3.提供联想记忆、分组引用等实用技巧;4.分阶段练习(基础匹配→常用模式→复杂模式);5.推荐可视化工具和实战项目;6.建议创建个人速查表。

木木的学习笔记 983

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

JavaScript 正则表达式大全(速查表)

要匹配元字符本身(如。

askein的博客 484

JS正则表达式速查表

正则表达式符号解释 5. 全部符号解释 字符 描述 \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,'n' 匹配字符 "n"。'\n' 匹配一个换行符。序列 '\\' 匹配 "\" 而 "\(" 则匹配 "("。

Hec990的博客 258

js学习笔记(十二)——语法速查表

JS 语法速查表 转载编译自链接 基础 pdf下载 注:cheatsheet大集合 1. jsES2015的特性总结 这个链接还有一系列的手册可以查阅; 2. js基本函数 这个链接包含一系列语言、包、软件的api速查; 3. js正则化 在线正则化 4. js库 jQuery React Redux V

TomRen 723

js正则表达式全局匹配正斜杠_JavaScript: 为初学者介绍正则表达式

不久前,正规表达式对我来说是挺可怕的 - 对我未经训练的眼睛来说,它们只不过是一堆乱七八糟的字符串。不幸的是,我让那些“乱七八糟”的字符串吓倒我太久了。当我终于决定冒险学习正则表达式时,我很惊讶要学习的基本概念有多简单。不要犯同样的错误。是的,正则表达式可能非常复杂,但实际上学习基础知识很容易。下面我一起学习基本的正则表达式吧...在 JavaScript 中,正则表达式只是一种用于匹配字符串中字...

weixin_39594296的博客 1870

如何记住js的正则表达式

"数字、非数、空白、非白、字、非字"\d数字 ≡[0-9]\D非数字 ≡[^0-9]\s空白字符(空格、制表符等)\S非空白字符\w单词字符(字母、数字、下划线)≡\W非单词字符。

Heby的博客 653

如何快速学会正则表达式

0x01 前言 今天晚上跟同事聊到正则时,他说他学习正则自毕业后断断续续将近两年才学完,而我花了一个周末的时间便学会了(入门)。这篇文章主要分享一下,我学习正则的过程和方法。(仅适用于小白,大佬勿喷)。 为啥要学习正则?我的感触就是,学会正则可以大幅度提高我们的检索速度和工作效率。废话不多说,让我们开始吧~ 0x02 前期准备 教程 30分钟入门正则表达式: https://www.runoob.com/w3cnote/regular-expression-30-minutes-tutorial.htm

0xff 2159

JavaScript 正则表达式教程(一)

正则表达式是一种模式或模板,允许您以一种自然而模糊的方式定义一组规则,从而使您能够匹配和验证文本。它们在几乎每种现代编程语言中都已经实现。当处理任何类型的文本输入时,您并不总是知道值是什么,但通常可以假设(甚至要求)您将接收到应用程序中的格式。这些类型的情况正是您需要创建正则表达式来提取和操作此输入的情况。在本书中,您将学习如何使用 JavaScript 中的正则表达式入门基础知识。我们将从基础知识开始,经过一些特殊模式,然后深入到两个示例中。

龙哥盟 678

小结JavaScript正则表达式

JavaScript正则表达式 正则表达式速查表 推荐:正则表达式图形描述网站 https://regexper.com 元字符 正则表达式由两种基本字符类型组成: 原义文本字符 元字符 原义文本字符 原义文本字符就是要匹配的原文本内容,比如匹配 abc ,那么 abc 就是原义文本字符 /abc/.test("abc"); // 返回结果:true 元字符 元字符就是在正则表达式中有特殊含义的非字母字符,比如:\d,它并不是匹配一个反斜线和一个字母d,而是匹配从0-9的数字字符

qq_37870582的博客 745

【JavaScript 四】jQury正则表达式、json

本文包含两部分内容:正则表达式速查表和JSON格式说明。正则表达式部分提供了常用字符描述符号表,包括匹配规则、限定符、字符集合等,并列举了用户名、密码、邮箱等常见场景的正则模式。JSON部分介绍了这种轻量级数据交换格式的基本结构,包括对象、数组、键值对的定义方式,以及字符串、数字等支持的数据类型。同时说明了在JavaScript中使用JSON.parse()和JSON.stringify()进行格式转换的方法。全文提供了清晰的技术参考,适合开发者快速查阅正则表达式和JSON的相关语法规范。

Ktugihv的博客 953

5个必备前端开发速查表:从HTML5到CSS3的完整参考指南

在快节奏的前端开发工作中,你是否经常需要查找CSS选择器语法、HTML5标签属性或Git命令用法?Frontend-Cheat-Sheets项目为你提供了一个全面的前端开发速查表集合,涵盖了HTML、CSS、JavaScript、Git、Gulp等核心技术的参考资源。这个开源项目汇集了来自各个领域的专业速查表,让你在开发过程中能够快速查阅语法、属性和最佳实践,显著提升工作效率。无论你是刚入门的前端

gitblog_00971的博客 452
上一篇: 使用CSS提高网站性能的30种方法
下一篇: 分享 2023 年最新的 15 种 JavaScript 速记技巧 【终极秘籍】
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

艾编程前端技术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值