在正则表达式中使用整数变量(Python)

4 投票
2 回答
1239 浏览
提问于 2025-04-17 01:51

假设我在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] 只会匹配 12。如果你想匹配从一到十二的数字,你需要用 (?P<month>12|11|10|[1-9])

撰写回答