python regex 使用示例

2022-08-16 21:39:14 字數 1375 閱讀 4292

一般的去匹配 python 的單個 regex 較簡單,只需要按照 python 使用者手冊編寫即可。

本文主要講一下需要匹配多個 regex 的情況。

假設我們需要判斷輸入的每一行 (用line進行獲取字串)是否滿足其中的乙個 regex, 如果滿足,則過濾。

比如,則可以使用如下的方法:

如果無 regex 對像,則可用:

any (regex.match(regex, line) for regex in [regex1, regex2, regex3])

如果有 regex 對像,即先進行了re.compile, 比如:

pattern = re.compile(r"(regex1)|(regex2)|(regex3)")

則可用:

pattern.match(line)進行判斷即可。

使用示例如下:

第一種:

#!/usr/bin/env python

import sys

import re

if __name__ == '__main__':

while

true:

line = sys.stdin.readline()

ifnot line: break

# any (regex.match(regex, line) for regex in [regex1, regex2, regex3])

if any (re.match(regex, line) for regex in [".*chronos.*", ".*transcoding.*", "default"]):

print

'matched'

else:

print

'not matched'

第二種:

#!/usr/bin/env python

import sys

import re

if __name__ == '__main__':

pattern = re.compile(r"(.*chronos.*)|(.*transcoding.*)|(.*default.*)")

while

true:

line = sys.stdin.readline()

ifnot line: break

if pattern.match(line):

print

'matched'

else:

print

'not matched'

SharpZipLib使用示例

sharpziplib使用示例 zipinputstream gzipinputstream用於解壓縮deflate gzip格式流,zipoutputstream gzipoutputstream用於壓縮deflate gzip格式流。streamutil類包含了幾個stream處理輔助方法 co...

ConfigEngine使用示例

configengine使用示例 簡要過程如下 步驟3 編寫你的配置定義檔案 raw.f。步驟4 呼叫confengine裡的genconf.py編譯raw.f,生成raw.h.第一步,定義需要的配置項,儲存在raw.f raw.f檔案的解釋如下 第三列為預設值。注意列是由空白分開的,所以如果預設值...

使用陣列示例

namespace cards public hand south public hand west public hand east public void clear public void returnhandsto pack pack private hand north new hand ...