我想提取 >
之间的数字和 <
在 Python 2.7 上使用正则表达式
即来自 3213>1234<3213
至 1234
.
但结果(print(data2)
)什么也没显示。有什么问题?
我在 Ubuntu 和 Windows pydev 上测试了下面的代码。
import re
a = "3213>1234<3213"
p = re.compile('>[0-9]*<')
data = p.search(a).group()
print(data)
p2 = re.compile('[0-9]*')
data2 = p2.search(data).group()
print(data2)
最佳答案
问题是您得到了 [0-9]*
的最早可能匹配项在'>1234<'
,这实际上是它最开始的空字符串,在 >
之前.
除了直接的正则表达式解决方案,您还可以简单地使用 data2 = data[1:-1]
修复您的问题.
关于python - 正则表达式搜索显示不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34985507/