我希望只选择一个个数字。
在Windows python
上,使用日语unicode
,我已经完成
s = "17 1 27歳女1"
re.findall(r'[1-7]\b', s)
我需要匹配1
中的第二个1
和最后一个s
-而不是初始的17
1
。
所需的输出:
['1', '1']
答案 0 :(得分:3)
尝试使用negative-lookbehind (?<!\d)
。如果数字前面有另一个数字,则该匹配将被忽略,即:
import re
s = "17 1 27歳女1"
x = re.findall(r"(?<!\d)[1-7]\b", s)
print(x)
# ['1', '1']
正则表达式说明
答案 1 :(得分:2)
这是您要查找的正则表达式:
(?<!\d)[1-7](?!\d)
测试:
import re
s="17 1 27歳女1"
re.findall(r'(?<!\d)[1-7](?!\d)', s)
输出:
['1', '1']