python – 匹配前后字符的条件字符串

正则表达式总让我头疼.我正在尝试匹配一个模式,只有在前后两个字符都不是数字的情况下才会匹配.没关系,如果其中一个字符是数字.

即字符串“Zeitraum vom 1. 6. -30.6.”我试图匹配短划线( – ),但是模式不应该匹配“12-3-2019”(短划线前后的两个字符都是数字).

目前我正在尝试排除,但如果两个字符都不是数字,那似乎匹配.

[^\d]-[^\d]

谢谢

最佳答案 您可以使用替换:

(?<!\d)-|-(?!\d)

这匹配的连字符前面没有数字或后面没有数字

点赞