加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用正则表达式(或其他python模块)来比较文本/字符?

发布时间:2020-12-14 06:22:27 所属栏目:百科 来源:网络整理
导读:假设我的程序收到一个输入,例如一串具有任何类型字符的字符.例如,’Bob’s Bagel Shop’.然后它得到另一个字符串,上面写着’Fred’s Bagel Store’.如何在 python中使用正则表达式或其他模块来比较这些并让我的程序告诉我,如果字符串中的任何字符串中的至少5
假设我的程序收到一个输入,例如一串具有任何类型字符的字符.例如,’Bob’s Bagel Shop’.然后它得到另一个字符串,上面写着’Fred’s Bagel Store’.如何在 python中使用正则表达式或其他模块来比较这些并让我的程序告诉我,如果字符串中的任何字符串中的至少5个(或任何我想要的数字)是相同的,但是所有字符都在相同的顺序中,比如’Bagel’这个词?

谢谢.

有一个 Python标准库类 difflib.SequenceMatcher将有助于解决您的问题.这是一个代码示例:
from difflib import SequenceMatcher

s1 = "Bob's Bagel Shop"
s2 = "Bill's Bagel Shop"

matcher = SequenceMatcher(a=s1,b=s2)
match = matcher.find_longest_match(0,len(s1),len(s2))

结果:

Match(a=3,b=4,size=13)  # value that 'match' variable holds

结果显示两个字符串具有相等的子字符串,长度为13个字符(从第一个字符串中的第3个字符开始,第二个字符串中的第4个字符串).

您可以使用此匹配结果对象将其字段作为值:

match.size  # 13
match.a     # 3
match.b     # 4

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读