宝哥软件园

正则表达式实现三个功能:添加、删除和替换

编辑:宝哥软件园 来源:互联网 时间:2021-08-31

最近公司要求写组件,要求用正则表达式构建中文匹配组件。出现了很多问题,大部分都是用自动机构建正则表达式引擎。虽然边肖在大学里学过编译原理,但是现在已经忘了,只能通过现有的正则表达式来实现这个功能。

下面的代码利用正则表达式实现了句子的添加、替换和删除三个操作。不知道这是否适合大家的口味。反正边肖准备让公司负责人批评,所以边肖现在学不会。

#-*-conding : utf-8-*-importretxt='这个池子的容积大约是34立方米'''角色是匹配规则,re_out是替换零件。格式为“1(替换零件)”“”def Replace(角色,Re _ out) : out=re。编译(角色)string _ out=out。sub (re _ out,txt)print(string _ out)replace(r’(此池的卷约为34)()。*)',r' 1m2 ')' ' '角色。Num是要删除的元素(从1开始)' ' ' def delete(角色,num) : out=re.search(角色,Txt)。group (num)字符串=txt。split (out) string _ out=' '。join(string)print(string _ out)delete('此池的卷约为34)()。*) (volume)',2)def Add(role,Re _ out): out=Re.compile(role)string _ out=out . sub(Re _ out,txt) print (string _ out) add (r '(此池的卷约为34)()。{0})',r'1 ')下面的图片是如果需要,可以参考一下。另外,边肖需要有人告诉我如何用自动机实现这个正则表达式,它的原理是什么。欢迎留言。

摘要

以上是边肖介绍的正则表达式,实现增删替换三大功能。希望对大家有帮助。如果你有任何问题,请给我留言,边肖会及时回复你。非常感谢您对我们网站的支持!

更多资讯
游戏推荐
更多+