1. 程式人生 > >『Re』正則表達式模塊_常用方法記錄

『Re』正則表達式模塊_常用方法記錄

compile 模式 pre 表達 返回 字符串 sof 經典用法 color

『Re』知識工程作業_主體識別

一個比較完備的正則表達式介紹

幾個基礎函數

re.compile(pattern, flags=0)

將正則表達式模式編譯成一個正則表達式對象,它可以用於匹配使用它的match ()search ()等方法。

實際有兩種使用方式:

  pattern.匹配方法(string) 或者 re.匹配方法(pattern,string)

使用或|來強化匹配規則:

pattern_t = re.compile(
‘[0-9〇一二三四五六七八九]{4}年.{1,2}月.{1,3}日‘ ‘|同年.{1,2}月.{1,3}日‘ ‘|[0-9〇一二三四五六七八九]{4}年.{1,2}月.{1}旬‘ ‘|[0-9〇一二三四五六七八九]{4}年.{1,2}月底‘ ‘|[0-9〇一二三四五六七八九]{4}年.{1,2}月‘ ‘|[0-9〇一二三四五六七八九十]{1,2}月.{1,3}日‘)

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

返回字符串

經典用法,切詞操作,匹配長度大於1的全字母序列

re.findall(r‘[a-zA-Z]{2,}‘,line.strip())

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

返回一個叠代器符合

正則表達式叠代器對象

之所以單提出來,是因為叠代器在匹配組groups的時候真的好用,

pattern_c = re.compile(‘[\n。,,《;](.{,15}?人民法院)‘)
_court_list = [name.group(1) for name in pattern_c.finditer(lines)]

group(1)表示匹配到的符合第一組的部分,2、3……類推,而0表示包含全部匹配的各個組結果的元組。

貪婪匹配

比如正則表達式:

‘審理(.+)指控‘

我希望不去貪婪匹配,那麽應該是

‘審理(.+)指控?‘

而非

‘審理(.+?)指控‘

『Re』正則表達式模塊_常用方法記錄