匹配部分正确关键字的正则表达式

2024-04-26 13:59:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我想把字符串和关键字匹配起来。关键字可能不完全匹配,最大不匹配字符数设置为2。你知道吗

如何使用正则表达式来做呢?你知道吗

谢谢。你知道吗

以下是示例:

string                     partially matched 'abc technology.com'?
apc technology.om                       yes(wrong p and miss c)
abctechnologycom                        yes(miss space and dot)
abc technolog.con                       yes(miss y and wrong n)
abtechnology.com                        yes(miss c and space)
abc technology.c                        yes(miss o and m)
abtechnology.co                         no(miss c, space and m)
abc technology.                         no(miss com)
abctechnology.c                         no(mis space and om)

Tags: andno字符串com示例space关键字字符
1条回答
网友
1楼 · 发布于 2024-04-26 13:59:51

您可以使用regex库并使用模糊匹配(适合您的用例),指定最大不匹配,如:

import regex
from pprint import pprint

matcher = regex.compile(r'(abc technology\.com){e<3}')

tests = [
  "apc technology.om",
  "abctechnologycom",
  "abc technolog.con",
  "abtechnology.com",
  "abc technology.c",
  "abtechnology.co",
  "abc technology.",
  "abctechnology.c",
]

for test in tests:
  pprint(matcher.match(test))

Online demo here

当达到错误计数时,它将返回None,否则返回一个包含fuzzy_counts元组的对象,该元组给出替换、插入和删除的总数。它还包含一个fuzzy_changes元组,其中包含每个替换、插入和删除操作的位置。你知道吗

相关问题 更多 >