繁体   English   中英

正则表达式:链接多个负向后查找和负向前查找

[英]REGEX: Chain multiple negative lookbehind and negative lookahead

正则表达式只是头痛。 我想将两个负向后查找和负向后查找正则表达式链接在一起。

第一:

re.sub(r'(?<!([0-1\b][0-9]|[2][0-3])):(?!([0-5][0-9])((?i)(am)|(pm)|(a.m)|(p.m)|(a.m.)|(p.m.))?\b)',':\n',s)

第二个:

re.sub(r'(?<!([ps][tp])):(?!([\/][\/]))',':\n',s)

它们都可以单独工作,如果不正确,则添加\\n 一个是时间,另一个是URL。 如果冒号不属于URL和时间,我将如何将它们加在一起,以便在冒号后立即添加\\n

这是我的问题的第一部分: 如何用冒号分割字符串,但是如果不是,怎么办?

最终走了很长一段路,并使用sub来修补被先前的负向后查找和负向超前正则表达式分解的URL。 啊。

s = re.sub(r'(?<!([0-1\b][0-9]|[2][0-3])):(?!([0-5][0-9])((?i)(am)|(pm)|(a.m)|(p.m)|(a.m.)|(p.m.))?\b)',':\n',s,flags=re.IGNORECASE)
reg = re.compile(re.escape('http:\n//'), re.IGNORECASE)
reg1 = re.compile(re.escape('https:\n//'), re.IGNORECASE)
reg.sub('http://', s)
reg.sub('https://', s)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM