跳转到主要内容
模块 1 · 第 2 课(共 4)课程中的2/32~10 min
模块课程(2/4)

基本类:\d \w \s

除了文字字符之外,正则表达式还为您提供预定义的类:快捷方式 对于“任何数字”,“任何单词字符”,“任何空格”。他们是第一批 迈向真正有用的模式。

班级比赛
\d数字 (0-9)
\w单词字符 (A-Za-z0-9_)
\sA 空白(空格、制表符、换行符等)
\D不是数字
\W不是单词字符
\S不是 空格

每个都匹配一个字符。匹配“一个或多个字符” 您需要量词(+,在模块 2 中),但我们将立即使用 + 因为“找到我所有的数字”太有用了,不能等待。

Code
Pattern: \d+
Sample:  Ho 3 mele, 12 pere e 100 prugne.
            ^      ^^      ^^^

\d+ 表示 一个或多个连续数字:它匹配 3、12 和 100 作为三个单独的匹配(带有 g 标志)。

\w:单词字符

\w 相当于 [A-Za-z0-9_] (ASCII 字母、数字、下划线)。它 不包含重音符号、希腊字母或表情符号:对于那些您需要 Unicode 的人 属性转义(\p{L},模块 5)。

深入研究基本类和否定

预定义的类 \\d、\\w、\\s 可加快编码速度。大写版本(\\D、\\W、\\S)否定该集合。例如, \\S+ 捕获任何不含空格的文本块(例如包括标点符号的整个单词)。 引擎通过匹配标准空格以及制表符 (\\t) 和换行符(\\n 或 \\r)来处理 \\s。

尝试一下

锻炼#regex.m1.l2.e1
尝试:0加载中...

从文本中提取每个连续数字(数字)序列。将“\\d”类与“+”量词一起使用。

正在加载编辑器...
显示提示

\\d+ 捕获一位或多位数字。使用 g 标志,您可以收集每场比赛。

3 次尝试后可用的解决方案

复习练习

锻炼#regex.m1.l2.e2
尝试:0加载中...

查找文本中的每个“单词”:单词字符的连续序列 (`\\w+`)。

正在加载编辑器...
显示提示

\\w+ 匹配字母/数字/下划线的序列。标点符号被跳过。

3 次尝试后可用的解决方案

额外的挑战

锻炼#regex.m1.l2.e3
尝试:0加载中...

Find all sequences of one or more consecutive whitespace characters in the text (including spaces, tabs, and newlines).

正在加载编辑器...
显示提示

使用 \\s 类和 + 量词来捕获连续的空白序列。

3 次尝试后可用的解决方案