Python 正则表达式匹配包含空格但不能为所有空格的数字?

Python 正则表达式匹配包含空格但不能为所有空格的数字?,python,regex,Python,Regex,我正在编写一个python正则表达式代码来测试字符串是否可以是数字。我写道: import regex as re re.match('(([-\s]*)([\d\s,]+)(\.?)([\d\s]*)(%?))',' - 1, 00 0.0 0 %') 这个有效。但是如何使这个示例字符串('.01'或.01)不匹配?i、 e.如何使模式匹配包含任何数字、、、、、、、%的字符串,但不匹配之前的内容仅为空格或无的字符串。只需在匹配之前添加一个前瞻(?=[\s,]*\d),然后再匹配之前的数字,断

我正在编写一个python正则表达式代码来测试字符串是否可以是数字。我写道:

import regex as re
re.match('(([-\s]*)([\d\s,]+)(\.?)([\d\s]*)(%?))',' - 1, 00 0.0 0 %')

这个有效。但是如何使这个示例字符串(
'.01'
.01
)不匹配?i、 e.如何使模式匹配包含任何数字、
%
的字符串,但不匹配
之前的内容仅为空格或无的字符串。

只需在匹配
之前添加一个前瞻
(?=[\s,]*\d)
,然后再匹配
之前的数字,断言有一个数字(在
之前):

(([-\s]*)(?=[\s,]*\d)([\d\s,]+)(\.?)([\d\s]*)(%?))