溫馨提示×

python正則-re的用法詳解

小云
108
2023-08-10 12:04:57
欄目: 編程語言

Python中的re模塊是用來進(jìn)行正則表達(dá)式操作的工具包。re模塊提供了很多函數(shù)和方法,用于對字符串進(jìn)行匹配、查找、替換等操作。

  1. re.match(pattern, string, flags=0)

從字符串的起始位置開始匹配pattern,如果匹配成功,則返回一個(gè)匹配對象;否則返回None。

  1. re.search(pattern, string, flags=0)

在字符串中查找第一個(gè)符合pattern的子串,如果找到則返回一個(gè)匹配對象;否則返回None。

  1. re.findall(pattern, string, flags=0)

在字符串中查找所有符合pattern的子串,并以列表的形式返回。

  1. re.finditer(pattern, string, flags=0)

在字符串中查找所有符合pattern的子串,并以迭代器的形式返回。

  1. re.sub(pattern, repl, string, count=0, flags=0)

在字符串中查找所有符合pattern的子串,并將其替換為repl。count參數(shù)控制替換的次數(shù),默認(rèn)為0,表示替換所有匹配到的子串。

  1. re.split(pattern, string, maxsplit=0, flags=0)

根據(jù)pattern對字符串進(jìn)行分割,并返回分割后的子串列表。maxsplit參數(shù)控制分割的次數(shù),默認(rèn)為0,表示分割所有匹配到的子串。

  1. pattern的語法規(guī)則
  • 字符:匹配該字符

  • \d:匹配任意數(shù)字(0-9)

  • \D:匹配任意非數(shù)字字符

  • \w:匹配任意字母、數(shù)字、下劃線字符

  • \W:匹配任意非字母、數(shù)字、下劃線字符

  • \s:匹配任意空白字符

  • \S:匹配任意非空白字符

  • ^:匹配字符串的起始位置

  • $:匹配字符串的結(jié)束位置

  • .:匹配任意字符(除換行符外)

  • *:匹配前一個(gè)字符零次或多次

  • +:匹配前一個(gè)字符一次或多次

  • ?:匹配前一個(gè)字符零次或一次

  • {n}:匹配前一個(gè)字符n次

  • {n,}:匹配前一個(gè)字符至少n次

  • {n,m}:匹配前一個(gè)字符至少n次,最多m次

以上是re模塊常用的幾個(gè)函數(shù)和一些常用的正則表達(dá)式語法規(guī)則。使用re模塊可以方便地進(jìn)行字符串的匹配、查找、替換等操作。

0