我使用Python,例如,我有一个字符串,这样:a good 98.15% play应该匹配9815,a good 98,15% play应该也匹配9815,a good 100% play应该匹配100 a good 98% play应该匹配98我试过使用(?<=\s)\S+(?=\%)来匹配整个98.15,但使用逗号分隔十进制数的人比我想象的要多,我试过使用其他正则表达式,但没有任何我能想到的能满足我的问题。
a good 98.15% play
a good 98,15% play
a good 100% play
a good 98% play
(?<=\s)\S+(?=\%)
nbnkbykc1#
删除.(如果存在),并删除正则表达式以捕获数字。我会把它去掉。首先,然后简单地(\d+)%在Python中,我认为它的.replace('.','')删除.
.
(\d+)%
toiithl62#
我已经找到了解决方案,我可以使用字符串替换方法将所有逗号替换为点,然后使用我的旧正则表达式(?<=\s)\S+(?=\%),它应该匹配该百分比的数字(98.15为98.15%)
avkwfej43#
您还可以使用
\d+(?:[,.]?\d+)?%
3条答案
按热度按时间nbnkbykc1#
删除
.
(如果存在),并删除正则表达式以捕获数字。我会把它去掉。首先,然后简单地(\d+)%
在Python中,我认为它的.replace('.','')删除
.
toiithl62#
我已经找到了解决方案,我可以使用字符串替换方法将所有逗号替换为点,然后使用我的旧正则表达式
(?<=\s)\S+(?=\%)
,它应该匹配该百分比的数字(98.15为98.15%)avkwfej43#
您还可以使用