使用re.search查找一个或多个十进制数字,一个可选的K字符,后面不跟"%"。
尝试过这个:
re.search (r'(d+K?)(?!%)', s).group (0)
具有以下s值:
10K 1%
2% 10K
20% 10K
哪个返回:
10K
10K
2
前两个结果是正确的,最后一个结果不是。我希望数字匹配是贪婪的,跳过"20%",改为匹配"10K"。找到了Java(++(的解决方案,但没有找到Python。感谢您提供的任何提示,我们在网上进行了广泛的搜索,但答案一直难以捉摸。
尝试regexd+K?(?= |$)
这将检查K.后的空格或行尾
Regex
?
平均匹配0或1次,将模式替换为(d+K)(?!%)