[英]How to use in python regular expression
我想使用數值變量正則表達式部分。
如果我想在這部分中使用變量,我該怎么辦(?P<hh>\\d)
我想輸出包含輸入數字的行。
你的問題不明確。
如果要捕獲正則表達式的某些特定部分,則必須創建組(使用pharentesis):
hh = sys.argv[1]
m = re.compile(r'(?P<hh>\d):(\d{2})')
match = m.match(hh)
print match.group(1)
print match.group(2)
例如,如果hh = '1:23'
,則上面的代碼將打印出來:
1
23
現在,如果你需要的是用某個變量替換\\d{2}
,你可以這樣做:
variable = r'\d{2}'
m = re.compile(r'(?P<hh>\d):%s' % variable)
或者如果你只想更換2
,你可以這樣做:
variable = '2'
m = re.compile(r'(?P<hh>\d):\d{%s}' % variable)
另一個選擇可能是使用:
r'(?P<hh>\d):{0}'.format(variable)
使用字符串插值 :
m = re.compile(r'\d{%d}:\d{%d}' % (var1, var2))
如果變量不是整數,您可能需要轉換類型,如下所示:
m = re.compile(r'\d{%d}:\d{%d}' % (int(var1), int(var2)))
你可以把它作為一個字符串傳遞(我先逃避它):
m = re.compile(re.escape(hh) + r':\d{2}')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.