正则表达式实现三个功能:添加、删除和替换
最近公司要求写组件,要求用正则表达式构建中文匹配组件。出现了很多问题,大部分都是用自动机构建正则表达式引擎。虽然边肖在大学里学过编译原理,但是现在已经忘了,只能通过现有的正则表达式来实现这个功能。
下面的代码利用正则表达式实现了句子的添加、替换和删除三个操作。不知道这是否适合大家的口味。反正边肖准备让公司负责人批评,所以边肖现在学不会。
#-*-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 ')下面的图片是如果需要,可以参考一下。另外,边肖需要有人告诉我如何用自动机实现这个正则表达式,它的原理是什么。欢迎留言。
摘要
以上是边肖介绍的正则表达式,实现增删替换三大功能。希望对大家有帮助。如果你有任何问题,请给我留言,边肖会及时回复你。非常感谢您对我们网站的支持!
版权声明:正则表达式实现三个功能:添加、删除和替换是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。