当前位置:网站首页>正则系列之字符类
正则系列之字符类
2022-06-30 18:49:00 【老__L】
目录
字符类可以区分各种字符,例如区分字母和数字。
1、.
有下列含义之一:
- 匹配除行终止符之外的任何单个字符:
\n(换行符),\r(回车符),\u2028(行分隔符)或者\u2029(段落分隔符)。
let reg = /.y/g;
let str = "yes make my day";
str.match(reg); // ['my', 'ay']
- 在字符集内,点失去了它的特殊意义,并与文字点匹配。
let reg = /\./g;
let str = ".u";
str.match(reg); // ['.']
注意,m多行标志不会改变点的行为。因此,要匹配多行模式,可以使用字符类[^],它将匹配包括换行符在内的任何字符。
let reg = /[^]/g;
let str = ".u\n\r\u2028\u2029";
str.match(reg); // ['.', 'u', '\n', '\r', '
', '
']
ES2018 添加了 s“dotAll”标志,它允许点也匹配行终止符。
let reg = /./g;
let str = "yes make my day\n";
str.match(reg); // ['y', 'e', 's', ' ', 'm', 'a', 'k', 'e', ' ', 'm', 'y', ' ', 'd', 'a', 'y']
reg = /./gs;
str.match(reg); // ['y', 'e', 's', ' ', 'm', 'a', 'k', 'e', ' ', 'm', 'y', ' ', 'd', 'a', 'y', '\n']
2、\d
匹配任何数字(阿拉伯数字)。相当于 [0-9]。
let reg = /\d/g;
let str = "B2is the suite number";
str.match(reg); // ['2']
3、\D
匹配任何非数字(阿拉伯数字)的字符。相当于[^0-9]。
let reg = /\D/g;
let str = "B2is the suite number";
str.match(reg); // ['B', 'i', 's', ' ', 't', 'h', 'e', ' ', 's', 'u', 'i', 't', 'e', ' ', 'n', 'u', 'm', 'b', 'e', 'r']
4、\w
匹配基本拉丁字母中的任何字母数字字符,包括下划线。相当于 [A-Za-z0-9_]。
let reg = /\w/g;
let str = "B2is_the-suite number";
str.match(reg); // ['B', '2', 'i', 's', '_', 't', 'h', 'e', 's', 'u', 'i', 't', 'e', 'n', 'u', 'm', 'b', 'e', 'r']
5、\W
匹配任何不是来自基本拉丁字母的单词字符。相当于 [^A-Za-z0-9_]。
let reg = /\W/g;
let str = "B2is_the-suite number";
str.match(reg); // ['-', ' ']
6、\s
匹配单个空白字符,包括空格、制表符、换页符、换行符和其他 Unicode 空格。相当于 [ \f\n\r\t\v\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]。
let reg = /\s/g;
let str = "B2is_the-suite number\f\n\r\t\v\u00a0\u1680\u2000\u200a\u2028\u2029\u202f\u205f\u3000\ufeff";
str.match(reg);// [' ', '\f', '\n', '\r', '\t', '\v', ' ', ' ', ' ', ' ', '
', '
', ' ', ' ', ' ', '']
7、\S
匹配除空格以外的单个字符。相当于[^ \f\n\r\t\v\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]。
reg = /\S/g;
str.match(reg); // ['B', '2', 'i', 's', '_', 't', 'h', 'e', '-', 's', 'u', 'i', 't', 'e', 'n', 'u', 'm', 'b', 'e', 'r']
8、\t
匹配水平制表符。
let reg = /\t/g;
let str = "B2is_the-suite number\f\n\r\t\v\u00a0\u1680\u2000\u200a\u2028\u2029\u202f\u205f\u3000\ufeff";
str.match(reg); // ['\t']
9、\r
匹配回车符。
let reg = /\r/g;
let str = "B2is_the-suite number\f\n\r\t\v\u00a0\u1680\u2000\u200a\u2028\u2029\u202f\u205f\u3000\ufeff";
str.match(reg); // ['\r']
10、\n
匹配换行符。
let reg = /\n/g;
let str = "B2is_the-suite number\f\n\r\t\v\u00a0\u1680\u2000\u200a\u2028\u2029\u202f\u205f\u3000\ufeff";
str.match(reg); // ['\n']
11、\v
匹配垂直制表符。
let reg = /\v/g;
let str = "B2is_the-suite number\f\n\r\t\v\u00a0\u1680\u2000\u200a\u2028\u2029\u202f\u205f\u3000\ufeff";
str.match(reg); // ['\v']
12、\f
匹配换页符。
let reg = /\f/g;
let str = "B2is_the-suite number\f\n\r\t\v\u00a0\u1680\u2000\u200a\u2028\u2029\u202f\u205f\u3000\ufeff";
str.match(reg); // ['\f']
13、[\b]
匹配退格键。
14、\0
匹配一个 NUL 字符。不要在此后面加上另一个数字。
15、\cX
使用插入符号匹配控制字符,其中“X”是 A–Z 中的一个字母(对应于代码点 U+0001–U+001F)。
let reg = /\cM/g;
let str = "\r\t";
str.match(reg); // ['\r']
16、\xhh
匹配与代码 hh(两个十六进制数字)对应的字符。
17、\uhhhh
匹配与值 hhhh(四个十六进制数字)对应的 UTF-16 代码单元。
18、\u{hhhh} 或 \u{hhhhh}
(仅当设置了 u 标志时。)匹配与 Unicode 值 U+hhhh 或 U+hhhhh(十六进制数字)对应的字符。
19、\p{UnicodeProperty},\P{UnicodeProperty}
根据字符的 Unicode 字符属性匹配字符(例如,仅匹配表情符号字符、日文片假名字符、中文汉字字符或日文汉字字符等)。
20、\
指示应特殊处理或“转义”后面的字符。它表现为两种方式之一。
- 对于通常按字面处理的字符,表示下一个字符是特殊的,不能按字面解释。例如,
/b/匹配字符“b”。通过在“b”前面放置反斜杠,即使用/\b/,字符变得特殊以表示匹配单词边界。 - 对于通常被特殊对待的字符,表示下一个字符不是特殊的,应该按字面意思解释。例如,
“*”是一个特殊字符,表示应该匹配前面的字符出现0次或多次;例如,/a*/示匹配0个或多个“a”。要从字面上匹配*需在其前面加上反斜杠;例如,/a\*/匹配“a*”。
后记
如果你感觉文章不咋地
//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O???
如果你觉得该文章有一点点用处,可以给作者点个赞;\\*^o^*//
如果你想要和作者一起进步,可以微信扫描二维码,关注前端老L;~~~///(^v^)\\\~~~
谢谢各位读者们啦(^_^)∠※!!!

边栏推荐
- Alibaba Tianchi SQL training camp learning notes 5
- 成长一夏 挑战赛来袭 专属社区福利来袭~免费获得CSDN定制T恤衫
- Gateway服务网关
- VoIP Push 在海外音视频业务中的应用
- Introduction to Po mode "suggestions collection"
- 实现各种效果和功能的按钮,读这篇文章就够了
- Ditto设置全局仅粘贴文本快捷键
- 码蹄集 - MT3435 · 赋值 - 二分图问题 - 图文讲解
- Task04: set operation - addition and subtraction of tables, join, etc. - learning notes of Tianchi Longzhu project SQL training camp
- MySQL function to get the full path
猜你喜欢

Friends in Guangzhou can join us if they have the opportunity

Gateway服务网关

连接实验室服务器

VoIP Push 在海外音视频业务中的应用

A necessary tool for testing -- postman practical tutorial

Four tips tell you how to use SMS to promote business sales?

【多线程】使用线程池、实现一个简单线程池

ABAQUS 2022最新版——完善的现实仿真解决方案

VR云展厅如何给线下实体带来活力?有哪些功能?

4个技巧告诉你,如何使用SMS促进业务销售?
随机推荐
MQ的选择(2022.5.9-5.15)
Safe holidays without holidays, VR traffic makes children travel safely | Guangzhou Sinovel viewpoint
Simple usage of LinkedList (2022.6.13-6.19)
码蹄集 - MT3111· 赋值
What securities dealers recommend? In addition, is it safe to open a mobile account?
Cartoon | has Oracle been abandoned by the new era?
Task01: getting to know database and SQL (Note 1)
永远不要使用Redis过期监听实现定时任务!
com. alibaba. fastjson. Jsonobject tojsonstring eliminate circular reference
NBI visual platform quick start tutorial (V) introduction to editor functions and operations
How to use xUnit framework to maintain test cases?
JVM FAQs
Ditto设置全局仅粘贴文本快捷键
Alibaba Tianchi SQL training camp learning notes 5
小球大小随机,随机运动碰撞
Promise from recognition to use
测试人进阶技能:单元测试报告应用指南
手机炒股开户安全嘛!?
JS string interception method summary
[JetsonNano] [教程] [入门系列] [一] 如何开启VNC共享