一般的去匹配 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 ...