Python re.search() 方法用于在字符串中搜索模式。如果它在字符串中的任何位置找到模式,则通过返回 match 对象来扫描整个字符串。
与 re.match() 方法不同,该方法仅在字符串的开头检查匹配项,而 re.search() 在字符串中的任何位置查找匹配项。如果找到匹配项,则返回 match 对象,否则返回 'None'。
此方法可用于查找字符串中的模式,而不管它们的位置如何,从而允许更灵活的模式匹配和从文本数据中提取信息。
语法
以下是 Python re.search() 方法的语法和参数 -
参数
以下是 python re.search() 方法的参数 -
- pattern:要搜索的正则表达式模式。
- string:要在其中搜索的输入字符串。
- flags(可选):这些标志控制搜索的行为。它可以是各种标志的按位 OR 组合,例如 re。IGNORECASE, re.MULTILINE 等
如果在字符串中找到模式,则此方法返回 match 对象,否则返回 None。
示例 1
以下是使用 re.search() 方法的基本示例。这里,模式'world'在字符串'Hello, world!' − 中搜索。
输出
123
示例 2
在此示例中,模式 '\d+-\d+-\d+' 用于匹配日期格式,捕获组用于分别提取年、月和日——
输出
Year: 2022
Month: 01
Day: 01
Month: 01
Day: 01
示例 3
在这个例子中,?<=good 是断言背后的积极外观,它检查在 'morning' 之前是否存在 'good' 而不将其包含在匹配中 -
输出
Pattern found: morning