Skip to main content
 首页 » 编程设计

python之Python 3.2 中的部分正则表达式匹配

2025年05月04日23sharpest

正则表达式回答是或否问题 - 字符串是否与模式匹配。

我想将否分为两类:

  • 作为有效字符串前缀的无效字符串
  • 不是有效前缀的无效字符串

这是一个示例(正则表达式 01+2):

  • 012有效

  • 12 无效;它不是有效字符串的前缀

  • 01 无效;它是一个有效字符串的前缀:012

Java can do this.

可以这样做吗?如果没有,是否有图书馆可以做出这种区分?

请您参考如下方法:

我支持正则表达式的建议。该模块简直太棒了。

下面是一个使用正则表达式进行模糊匹配的例子:

import regex 
 
# traditional matching - three digits 
r = '(?:\d\d\d)' 
print regex.findall(r, '1xx22yy333zz') 
## ['333'] 
 
# fuzzy matching - three digits, allow at most 2 deletions 
r = '(?:\d\d\d){d<3}' 
print regex.findall(r, '1xx22yy333zz') 
## ['1', '22', '333'] 

{d<3}部分基本上说“如果我们向其中添加一个或两个字符,那将是一个匹配项” - 与您问题中的第 3 点相同。

参见 http://pypi.python.org/pypi/regex了解更多信息(查找“近似“模糊”匹配”)。