我有以下正则表达式,我需要匹配各种字符串,这些字符串被评估为数学表达式中的组件。正则表达式如下:
(?<!\d|\(|\))(-*\d*\.*\d*e?\d*)|[\^!*\/%+-]|pi|e|\w+\((.*?)\)
我的测试字符串为'log(9)+.54'
使用PCRE引擎,字符串匹配如下:'log(9)'
,'+'
,'.54'
。这是我打算匹配的方式。但是,切换到Python的引擎会导致相同的正则表达式匹配4个空字符串,后跟'+'
'.54'
。如何修复正则表达式在Python中工作,或者更好地充分利用Python内部的PCRE引擎?