python regex lookbehind,lookahead

时间:2018-05-22 12:56:29

标签: python regex negative-lookahead negative-lookbehind

我想查看/解析一个单位(Pa,K,degC,°C)并且想要确保它被跟随并且前面跟不是字母的东西,因为K,Pa或我匹配的任何单位显然是很多单词。 ; - )

正则表达式 [^ A-Za-z] [Dd] [Ee] [Gg] [Cc] [^ A-Za-z] 有效它在文本中匹配: blablablatext degC blablabla degC +空格。我想只匹配degC!

我试过 (?![A-Za-z]) [DD] [EE] [千兆克] [CC] (?>![A-Za-z]) 但它永远不匹配,我不知道怎么做。如果我只使用负前瞻或负外观,它可以工作,只匹配degC而没有空格。

有人可以解释一下如何确保我的目标词前面跟着除了字母以外的任何内容吗?

1 个答案:

答案 0 :(得分:0)

负面预测(?! .. )必须在最后,负面的背后(?<! .. )在开头,/i flag或(?i: .. )可用于简化表达式

(?<![a-z])(?:pa|k|degc|°C)(?![a-z])