使用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的解决方案。感谢您提供的任何提示,已在网上进行了广泛搜索,但答案一直难以捉摸。
答案 0 :(得分:1)
答案 1 :(得分:0)
?
表示匹配0或1次,将模式替换为(\d+K)(?!%)