我的代碼可以在這種情況下作業:
import re
strA = "1999年9月9日"
strB = "1999年"
strC = "999年"
print(re.match(strB, strA))
print(re.match(strC, strA))
例如,strB 在 strA 的頭部,回傳 True,而 strC 不在 strA 的頭部,即使 strA 包含 strC。
現在,問題是當字串中有一些括號 () 時,比如
strA = "(1999年)9月9日"
strB = "(1999年)"
它不能在正則運算式中作業,我知道它在轉義字符上,但是如何解決這個問題,我的意思是我不能將每個字串修改為strB = "\(1999年\)",或其他解決方案?
uj5u.com熱心網友回復:
您可以使用startswith(). 無需使用正則運算式。
import re
strA = "1999年9月9日"
strB = "1999年"
strC = "a1999年"
print(strA.startswith(strB)) # = True
print(strA.startswith(strC)) # = False
uj5u.com熱心網友回復:
使用正則運算式模式^1999年:
# -*- coding: utf-8 -*-
import re
inp = ["1999年9月9日", "a1999年"]
for i in inp:
if re.search(r'^1999年', i):
print("MATCH: " i)
else:
print("NO MATCH: " i)
這列印:
MATCH: 1999年9月9日
NO MATCH: a1999年
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/477710.html
標籤:Python python-3.x 细绳
