regex 仅匹配以逗号或点分隔的百分比数字的正则表达式

vatpfxk5  于 2023-06-25  发布在  其他
关注(0)|答案(3)|浏览(104)

我使用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,但使用逗号分隔十进制数的人比我想象的要多,我试过使用其他正则表达式,但没有任何我能想到的能满足我的问题。

nbnkbykc

nbnkbykc1#

删除.(如果存在),并删除正则表达式以捕获数字。我会把它去掉。首先,然后简单地(\d+)%
在Python中,我认为它的.replace('.','')删除.

toiithl6

toiithl62#

我已经找到了解决方案,我可以使用字符串替换方法将所有逗号替换为点,然后使用我的旧正则表达式(?<=\s)\S+(?=\%),它应该匹配该百分比的数字(98.15为98.15%)

avkwfej4

avkwfej43#

您还可以使用

\d+(?:[,.]?\d+)?%

相关问题