需要正則運算式方面的幫助以匹配以下任一項:
data.testID=abd.123,
data.newID=abc.123.123,
data.testcaseID=abc.1_2,
data.testid=abc.123,
data.TestCaseID=abc.1.2,
我試過
m = re.search("data.[test. |new]?[ID]?=(. )?[,\}]")
uj5u.com熱心網友回復:
您可以使用
m = re.search(r"data\.(?:test\w*|new)?(?:ID)?=([^,] )", text, re.I)
請參閱正則運算式演示。詳情:
data\.-data.字串(注意轉義.)(?:test\w*|new)?- 一個可選的test零個或多個字字符或new字串(?:ID)?- 一個可選的ID子字串=- 一個=標志([^,] )- 第 1 組:除,.
看一個Python 演示:
import re
texts = ['data.testID=abd.123,','data.newID=abc.123.123,','data.testcaseID=abc.1_2,','data.testid=abc.123,','data.TestCaseID=abc.1.2,']
rx = re.compile(r'data\.(?:test\w*|new)?(?:ID)?=([^,] )', re.I)
for text in texts:
m = rx.search(text)
if m:
print(text, '=>', m.group(1))
輸出:
data.testID=abd.123, => abd.123
data.newID=abc.123.123, => abc.123.123
data.testcaseID=abc.1_2, => abc.1_2
data.testid=abc.123, => abc.123
data.TestCaseID=abc.1.2, => abc.1.2
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/358683.html
