【发布时间】:2015-04-24 15:51:02
【问题描述】:
来自re 模块的 Python 文档:
{m,n}?
使生成的 RE 匹配前一个 RE 的 m 到 n 个重复,尝试匹配尽可能少的重复。这是先前限定符的非贪婪版本。例如,在 6 个字符的字符串 'aaaaaa' 上,a{3,5} 将匹配 5 个 'a' 字符,而 a{3,5}?只会匹配 3 个字符。
我对它的工作原理感到困惑。这与{m} 有何不同?我看不出模式匹配的次数超过m 重复次数的情况。如果连续有m+1重复,那么也有m。我错过了什么?
【问题讨论】:
-
您是否考虑过设置一些测试用例并进行试验?您应该先这样做,然后如果您对结果感到困惑,请将其发布在您的问题中,并附上您的期望
-
这只是您想要匹配的重复次数的范围,而不是确切的数字。
-
请注意
{m,n}和{m,n}?(注意?)略有不同。获取“正则表达式非贪婪”以获取更多信息。 -
@ColonelThirtyTwo 是的,我了解
{m,n}和{m,n}?之间的区别我无法理解{m}和{m,n}?之间的区别 -
我很困惑为什么有 6 个投票的答案没有回答问题