簡體   English   中英

如何在python正則表達式中使用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM