menu
IKiru拂晓
search
搜索
close
devices
brightness_5
bookmark
home
首页
view_list
分类
keyboard_arrow_down
知识便条
4
web UI
2
access_time
归档
keyboard_arrow_down
2020 年 12 月
1
2020 年 11 月
3
2020 年 10 月
1
view_carousel
页面
keyboard_arrow_down
友链
关于
card_travel
工具箱
keyboard_arrow_down
IP查询
二维码制作
IP可用性检测
随机密码生成
在线进制转换
三合一收款码
rss_feed
RSS订阅
:D 获取中...
最新回复
Typecho : 欢迎加入 Typecho 大家族
标签云
正则表达式
学习笔记
springboot搭建
Maven依赖
快捷
HTML
HTML5美化
友情链接
一颗小豆子
LiXiangrong
是酱儿鸭
风起之地
文章目录
正则表达式笔记
64 浏览 | 2020-11-27 | 阅读时间: 约 2 分钟 | 分类:
知识便条
| 标签:
正则表达式
,
学习笔记
请注意,本文编写于 99 天前,最后修改于 98 天前,其中某些信息可能已经过时。
## 正则表达式 - `[A-Z]`:` [...]`表示匹配[]这个区间包含的元素,这里表示匹配A-Z所有大写字母,`[a-z] `表示所有小写字母。 - `[\s\S]`: \s 是匹配所有空白符,包括换行,\S 非空白符,包括换行 - `\w`: 表示匹配字母、数字、下划线。等价于`[A-Za-z0-9]` - `{n}`:表示匹配确定的n次,n为非负整数。如`/[0-9]{2}/`,表示匹配0-9之间的数出现两次。 - `*`:表示匹配前面的子表达式0次或多次,如`/[a-z]*/`。 - `+`: 表示匹配前面的子表达式至少一次 - `?`: 表示匹配前面的子表达式0次或1次 - `^`: 在[]外表示匹配输入字符串的开始位置;当该符号在方括号表达式中使用时,表示不接受该方括号表达式中的字符集合。要匹配 ^ 字符本身,则使用 \^。 ------------ ## 实例一 邮箱匹配 只允许数字、字母、下划线(_) 例如: **youxiang_024@qq.com** 分析邮箱组成: 1. 英文字母匹配用`[A-Z][a-z]` 2. 数字匹配使用`[0-9] 3. 下划线匹配为`[_]` 4. @左侧部分字符长度不固定,故可以表示为:`` [A-Za-z0-9_]* `` 5. @右侧部分为域名,按照其规则可以有字母、数字、英文句号(.)、短横线(-),且顶级域名长度一般在2~6之间(比如:“cn”、“com”、“group”),那么可以用 `([A-Za-z0-9\-]+\.)*+[A-Za-z]{2,6}` 表示 所以可以得出邮箱的正则表达式为``` /^[A-Za-z0-9_]*@([A-Za-z0-9\-]+\.)*+[A-Za-z]{2,6}$/ ``` ------------ ## 实例二:身份证正则校验 ### 身份证组成说明 [中华人民共和国国家标准](https://zh.wikipedia.org/wiki/中华人民共和国国家标准)[GB 11643-1999《公民身份号码》](https://zh.wikisource.org/wiki/GB_11643-1999_公民身份号码)中规定:公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。从左到右顺序依次为:6位地址码,8位出生日期码,3位数字顺序码,1位效验码  ----------- ### 校验方案 1. ##### 地址码规则 > - 长度为6位 > - 以数字1-9开头 > - 后5位为0-9 可以得出地址码的正则表达式为:`/^[1-9]\d{5}/` 1. ##### 出生日期码规则 ###### 2.1 年份 > - 长度为4位 > - 以数字18、19、20开头 > - 剩余两位为0-9 年份码的正则表达式为:`/(18|19|20)\d{2}/` ###### 2.2 月份 >- 长度为2位 > >- 第一位数字为0,第二位为1-9;或者第一位为1,第二位为0-2 月份码的正则表达式为:`/(0[1-9])|(1[0-2])/` ###### 2.3 日期 > - 长度为2位 > - 第一位数字为0-2,第二位数字为0-9,还可以加上30,31 日期码的正则表达式为:`/([0-2]\d{1})|30|31/` 1. ##### 顺序码 > - 长度为3位 > - 只能是数字 顺序码的正则表达式为:`/\d{3}/` 1. ##### 校验码 > - 长度为1位 > - 可以是数字或者大小写字母X、x 校验码的正则表达式:`/[0-9Xx]/` 1. ##### 完整正则表达式 `/^[1-9]\d{5}(18|19|20)\d{2} ((0[1-9])|(1[0-2])) (([0-2]\d{1})|30|31)\d{3}[0-9Xx]$`
知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议
全部评论
info
评论功能已经关闭了呐!
Emoji
cancel
OωO
ヾ(≧∇≦*)ゝ
|´・ω・)ノ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
∠( ᐛ 」∠)_
(/ω\)
(๑•̀ㅁ•́ฅ)
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
→_→
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ\"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ\"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
( ๑´•ω•) \"(ㆆᴗㆆ)
(。•ˇ‸ˇ•。)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
🌝
🌚
😶
🙏
😣
💊
🍉
OωO
Emoji
✪ω✪
贴吧
滑稽
arrow_upward
info 评论功能已经关闭了呐!