Python 正则表达式使用斜杠查找数字
我在句子中有一些数字,它们看起来像这样Python 正则表达式使用斜杠查找数字,python,regex,python-3.x,Python,Regex,Python 3.x,我在句子中有一些数字,它们看起来像这样 s='rare blond Canadian terrier on wheels. Only $8.98. test test. ...0.1/10 very rare' patt='[0-9\.{1}]*/10' re.findall(patt,s) 我想找到float/10(有时是int/10),但通过我的模式,我得到了 ['...1/10'] 我相信这应该是一个简单的解决办法,有人请帮忙吗 您可以使用: \d+(?:\.\d+)?/10 \
s='rare blond Canadian terrier on wheels. Only $8.98. test test. ...0.1/10 very rare'
patt='[0-9\.{1}]*/10'
re.findall(patt,s)
我想找到float/10(有时是int/10),但通过我的模式,我得到了
['...1/10']
我相信这应该是一个简单的解决办法,有人请帮忙吗 您可以使用:
\d+(?:\.\d+)?/10
匹配一个或多个数字\d+
- 可选(
)未捕获的组?
匹配一个(?:\。\d+)
,后跟一个或多个数字,
匹配文字/10
/10
In [72]: str_ = 'rare blond Canadian terrier on wheels. Only $8.98. test test. ...0.1/10 very rare'
In [73]: re.search(r'\d+(?:\.\d+)?/10', str_).group()
Out[73]: '0.1/10'
In [74]: str_ = 'rare blond Canadian terrier on wheels. Only $8.98. test test. ...23/10 very rare'
In [75]: re.search(r'\d+(?:\.\d+)?/10', str_).group()
Out[75]: '23/10'
为什么不
“\d+\?\d*”
太好了,谢谢,我已经使用[0-9]一段时间了,从来没有考虑过使用\d