Skip to main content
 首页 » 编程设计

Python正则表达式搜索不后跟字符的十进制数字

2024年12月31日28cyq1162

使用 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。感谢您提供有关此的任何提示,在网上进行了广泛搜索,但答案一直难以捉摸。

请您参考如下方法:

试试正则表达式 \d+K?(?= |$)

这将检查 K 之后的空格或行尾。

Regex