模块 1 · 第 1 课(共 4)课程中的1/32~8 min
模块课程(1/4)
文字模式
在正则表达式中,“普通”字母数字字符简单地匹配自身:写
ciao 作为模式,引擎将在其中查找子字符串 ciao
文本。没有什么比这更神奇的了:从左到右扫描逐个位置。
Code
Pattern: ciao
Sample: Buongiorno, ciao mondo! Ti dico anche ciao.
^^^^ ^^^^一场比赛总是携带两个关键信息:
- 匹配的文本(此处为
ciao); - 样本中起始位置的 索引(从 0 开始的偏移量)(此处为
12和38)。
默认情况下,正则表达式区分大小写:ciao 与 Ciao 不匹配或
CIAO。要忽略大小写,请添加 i 标志(不区分大小写)。
发动机如何工作
正则表达式引擎一次检查一个字符的文本。当搜索文字模式 ciao 时,它首先查找字母 c。一旦找到,它会验证下一个字符是否是 i,然后是 a,最后是 o。如果其中任何匹配失败,引擎将回溯到下一个起始位置并再次开始查找 c。
文字模式和 g 标志
如果没有 g (全局)标志,引擎将在它找到的第一个匹配处停止并停止。与
g 它继续并收集每个后续匹配项,直到字符串末尾。在本课程中我们将
几乎总是打开 g :我们希望看到文本中出现every匹配。
尝试一下
锻炼#regex.m1.l1.e1
尝试:0加载中...
查找示例中单词“ciao”的每个精确出现(区分大小写)。提示:记住“g”标志。
正在加载编辑器...
显示提示
模式就是单词本身。大写字母不得匹配:无 i 标志。
3 次尝试后可用的解决方案
复习练习
锻炼#regex.m1.l1.e2
尝试:0加载中...
查找文本中出现的所有单词“errore”,忽略大小写。
正在加载编辑器...
显示提示
与模式相同的单词,但在 g 旁边添加 i 标志(不区分大小写)。
3 次尝试后可用的解决方案
额外的挑战
锻炼#regex.m1.l1.e3
尝试:0加载中...
识别并收集示例日志文本中所有准确出现的单词“WARNING”(大写,区分大小写)。
正在加载编辑器...
显示提示
直接查找文字字符串 WARNING,确保不要激活 i 标志。
3 次尝试后可用的解决方案