python在string中查找特定变量

时间:2014-11-24 23:18:49

标签: html string find variable-assignment

我一直在寻找答案,但我真的找不到它,谢谢你的答案!

我正在查看一个充满随机文字的html文档,并且我正在寻找特定日期格式的内容:

%% / %% / %%或%% - %% - %%

两个问题: 1 - 是否可以在指定%s的类型(本例中为两位数)时执行类似str.find(%s /%s /%s)的操作?

2 - 是否可以在执行.find时将%s分配给变量?因为像str.find(%s /%s /%s)%(d,m,y)这样的东西会出错。

竖起大拇指以获得有关python代码的提示! 谢谢!

1 个答案:

答案 0 :(得分:1)

是的,这很有可能。在这种情况下,Regular expressions将成为你最好的朋友。

对于您提供的示例,您正在寻找类似" xx / xx / xx"这样每个' x'是一个数字,以下正则表达式将完成工作:\d\d[/]\d\d[/]\d\d

以下是它在Python中的工作原理:

import re
pattern = re.compile('\d\d[/]\d\d[/]\d\d')
pattern.findall(' sadfsd  04/06/76   kjadsf 10/10/14  ')

在Python解释器中尝试一下,然后您将获得匹配的子字符串列表:

['04/06/76', '10/10/14']

如果要单独提取日,月和年,请使用括号对正则表达式的那些部分进行分组。像这样:

import re
pattern = re.compile('(\d\d)[/](\d\d)[/](\d\d)')
pattern.findall(' sadfsd  04/06/76   kjadsf 10/10/14  ')

这会给你一个元组列表:

[('04', '06', '76'), ('10', '10', '14')]