正则表达式
1、什么是正则表达式
正则表达式是一种用于匹配和处理文本模式的工具。
它提供了一种灵活且强大的方式来搜索、替换和提取文本中的特定模式。
下面是一些正则表达式的基本概念和常用符号:
- 字面值字符:正则表达式中的大部分字符都是字面值字符,它们表示自身。例如,
a匹配字符 “a”。 - 字符类:使用方括号
[]来定义字符类,表示匹配其中的任意一个字符。例如,[abc]匹配字符 “a”、”b” 或 “c”。 - 转义字符:使用反斜杠
\来转义特殊字符,使其失去特殊含义。例如,\.匹配字符 “.”。 - 元字符:元字符是具有特殊含义的字符。例如,
.匹配任意字符(除了换行符),^匹配字符串的开头,$匹配字符串的结尾。 - 量词:量词用于指定模式的重复次数。例如,
*匹配前面的模式零次或多次,+匹配前面的模式一次或多次,?匹配前面的模式零次或一次,{n}匹配前面的模式恰好 n 次。 - 捕获组:使用圆括号
()来创建捕获组,用于提取匹配的部分。例如,(ab)+匹配连续出现的 “ab”,并将其作为一个捕获组。
2、正则表达式的使用
正则表达式的使用通常涉及以下几个步骤:
编译正则表达式:使用编程语言的正则表达式库,将字符串形式的正则表达式编译为一个正则表达式对象。
匹配模式:使用正则表达式对象的匹配方法,对目标文本进行匹配。常见的匹配方法包括
match()、search()、findall()等。获取匹配结果:根据匹配方法的返回结果,获取匹配到的内容。例如,可以获取匹配到的字符串、捕获组的内容等。
进一步处理:根据需要,可以对匹配到的内容进行进一步处理,例如替换、提取特定信息等。
在你提供的代码中,使用了正则表达式来匹配链接的格式。具体来说,re.match(pattern, href) 使用给定的正则表达式模式 pattern 对 href 进行匹配。如果匹配成功,则将该链接添加到 URL 管理器中。