背景
项目中需要全部替换EventBus,所以需要正则到下面图片中的代码规则,然后check是否已经替换,如果能正则到,则表明这个一个还未替换的代码。
![](https://img.haomeiwen.com/i3910833/addcef42161ad1b0.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'
大家可以帮助我一下吗?
网友评论