正则表达式介绍
跳到导航
跳到搜索
正则表达式是用于匹配字符串中字符组合的模式。
一个正则表达式模式是由简单的字符所构成的,比如 /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) > 表示匹配的字符或表达式的数量。