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

空线和修剪

让我们将锚点 + m 标志组合起来,以获得两个非常有用的习语: 匹配空行并修剪开头/结尾处的空白 每行的。

空行

空行是 ^ 和 $ 重合的位置:零个字符 行的开头和结尾之间。

Code
Pattern: ^$
Flag:    gm
Sample:  uno\n\ndue\n\n\ntre

匹配是零宽度:荧光笔将在之间显示一个标记 两个\n。要匹配“空但有空格”行,请使用 ^\s*$。

修剪一条线

要删除行首或行尾的空格,请组合锚点 + \s 类 + 量词:

Code
^\s+    matches whitespace at the start of a line (can then be replaced with the empty string, module 7)
\s+$    matches whitespace at the end of a line

使用 gm 标志,您可以收集每行的每个边距空白。

识别空行和尾随空格

纯空行与 ^$ 匹配(带有 m 标志)。然而,许多明显的空行包含不可见的空格或制表符。模式 ^\\s*$ 也会拦截这些行,使数据清理变得更加容易。

尝试一下

锻炼#regex.m3.l4.e1
尝试:0加载中...

查找示例中的每个空行(两个换行符之间的零字符)。将“^$”与“gm”标志一起使用。

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

空行是 ^ 和 $ 重合的位置。 m 标志是强制性的。

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

复习练习

锻炼#regex.m3.l4.e2
尝试:0加载中...

查找每行末尾的空格(换行符之前的空格字符)。将“\\s+$”与“gm”标志一起使用。

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

\\s+ 匹配一个或多个空白字符(包括制表符)。使用 gm,您可以锚定到每行的末尾。

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

额外的挑战

锻炼#regex.m3.l4.e3
尝试:0加载中...

Find all lines that start with the `#` character (entire comment lines, ignoring inline comments).

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

Use ^ at the start of the pattern to indicate that the comment character # must start the line.

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