我正在尝试在给定字符串中查找“[123]”形式的字符串,但我不希望看到我想要看到的结果,即'[123]'。
line = '[123] some string'
words = line.split()
for word in words:
id = re.sub("\[(\d+)\]", "", word)
print id
这给了我输出:
empty space
some
string
我不确定为什么re.sub()以这种方式格式化我正确匹配的字符串'[123]'。
答案 0 :(得分:0)
输出它是正确的,我想你想要这样的东西:
line = '[123] some string'
print re.search("\[\d+\]", line).group(0)
输出:[123]
答案 1 :(得分:0)
也许这可以帮到你!
#!/usr/bin/env python -u
# -*- coding: utf-8 -*-
import re
line = '[123] some string'
words = line.split()
for word in words:
pm = re.search('(\[.*?\])',word)
if pm is not None:
print pm.group(0)
输出:
python test.py ] 3:13
[123]