正则表达式介绍

来自泡泡学习笔记
BrainBs讨论 | 贡献2023年8月14日 (一) 15:11的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索

正则表达式是用于匹配字符串中字符组合的模式。

一个正则表达式模式是由简单的字符所构成的,比如 /abc/;或者是简单和特殊字符的组合,比如 /ab*c//Chapter (\d+)\.\d*/

使用简单模式

简单模式是由你想直接找到的字符构成。比如,/abc/ 这个模式就能且仅能匹配 "abc" 字符按照顺序同时出现的情况。例如在 "Hi, do you know your abc's?""The latest airplane designs evolved from slabcraft." 中会匹配成功。在上述两个例子中,匹配的子字符串是 "abc"。但是在 "Grab crab" 中会匹配失败,因为它虽然包含子字符串 "ab c",但并不是准确的 "abc"

使用特殊字符

当你需要匹配一个不确定的字符串时,比如寻找一个或多个 "b",或者寻找空格,可以在模式中使用特殊字符。比如,你可以使用 /ab*c/ 去匹配一个单独的 "a" 后面跟了零个或者多个 "b",同时后面跟着 "c" 的字符串:*的意思是前一项出现零次或者多次。在字符串 "cbbabbbbcdebc" 中,这个模式匹配了子字符串 "abbbbc"

特殊字符包含以下几类: - 断言(Assertions) > 表示一个匹配在某些条件下发生。断言包含先行断言、后行断言和条件表达式。 - 字符类(Character Classes) > 区分不同类型的字符,例如区分字母和数字。 - 组和范围(Groups and Ranges) > 表示表达式字符的分组和范围。 - 量词(Quantifiers) > 表示匹配的字符或表达式的数量。