正则表达式在文本处理中的应用与实践
1. 通用空白字符匹配
在处理空白字符时,之前使用 [ \t]+
来匹配空格和制表符。不过,许多正则表达式风格提供了更便捷的简写形式 \s
。 \s
看起来和 \t
(仅代表一个制表符)类似,但它是一个元字符,代表匹配任何“空白字符”的字符类,包括空格、制表符、换行符和回车符等。在示例中,换行符和回车符影响不大,但输入 \s+
比 [ \t]+
更方便,而且在复杂的正则表达式中, \s+
也更易读。
现在的测试正则表达式如下:
$input =~ m/^([-+]?[0-9]+(\.[0-9]+)?)\s+([CF])$/
为了同时允许大写和小写字母,除了将小写字母添加到字符类 [CFcf]
中,还可以使用修饰符 i
:
$input =~ m/^([-+]?[0-9]+(\.[0-9]+)?)\s+([CF])$/i
i
是一个修饰符,放在 m/.../
之后,指示 Perl 进行不区分大小写的匹配。它不是正则表达式的一部分,而是 m/.../
语法包装的一部分,告诉 Perl 要