求助:Python 正则两行文本

背景

项目中需要全部替换EventBus,所以需要正则到下面图片中的代码规则,然后check是否已经替换,如果能正则到,则表明这个一个还未替换的代码。


image.png

要求:

图片中有三处代码,前两处是kotlin写的,第三处是Java写的,1和2 的不同就是写法的不同,其实用Android studio格式换一下就可以变成和1一样的代码格式,但是现实中很多同学不按要求格式化,所以得兼容一行的情况,1和3基本上都一样,另外threadMode = ThreadMode.MAIN不一定固定的,还可能是threadMode = ThreadMode.ASYNC等情况,而@Subscribe(.*)比较固定。

尝试解决:

这个问题的关键在于正则的规则的匹配,其次是选用 Python re库的哪个方法,前者我尝试过去写,能匹配到两行,但是指定不了两行的内容。
正则:

parent=r'@Subscribe\(.*\)\n.+'

search = re.findall(parent, str, re.M)

比如我想定制后面的HomeSplashStateEvent,也可以叫TestEvent、DemoEvent,在正则中可能需要:

'HomeSplashStateEvent | TestEvent | DemoEvent'

大家可以帮助我一下吗?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容