在正则表达式中使用整数变量(Python)
假设我在Python中有一个正则表达式,我想用一个变量来代替[1-12]
。比如,我的变量是currentMonth = 9
我该如何把currentMonth放进这个正则表达式里呢?
r"(?P<speaker>[A-Za-z\s.]+): (?P<month>[1-12])"
2 个回答
0
我不知道你在查找什么,所以我没法测试这个,但你可以试试:
(r"(?P<speaker>[A-Za-z\s.]+): (?P<month>%r)" % currentMonth, foo)
这里的 foo
是你要用这个表达式处理的字符串。
5
使用字符串格式化将 currentMonth
插入到正则表达式模式中:
r"(?P<speaker>[A-Za-z\s.]+): (?P<month>{m:d})".format(m=currentMonth)
顺便说一下,(?P<month>[1-12])
可能并不是你想的那样。正则表达式 [1-12]
只会匹配 1
或 2
。如果你想匹配从一到十二的数字,你需要用 (?P<month>12|11|10|[1-9])
。