我对使用Python re模块在表达式中搜索整数感兴趣。例如给定字符串
1e2 - variabl3e+2 + atan2(8/3.0, -1.)
^ ^
我想提取2
和8
。作为一个起点
(?<![a-zA-Z_.])(?<![eE][-+])(\d+)(?![eE.])
它使用负的lookahead和lookahead来排除构成浮点数或变量/函数一部分的整数。问题是这排除了variabl3e+2
中的2
,因为e+2
位使它看起来好像2
是浮点指数。你知道吗
但是,如果没有可变宽度的负后视镜,我想不出一种处理这种情况的方法。你知道吗
Tags:
您可以匹配前面或后面没有字母或点的数字。你知道吗
这个正则表达式通过简单的测试。https://regex101.com/r/tV3zZ1/2
作为@jonrsharpe said,使用真正的解析器更安全。你知道吗
相关问题 更多 >
编程相关推荐