首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从行中用re检索想要的字符串

如何从行中用re检索想要的字符串
EN

Stack Overflow用户
提问于 2018-08-24 15:18:36
回答 1查看 73关注 0票数 1
代码语言:javascript
复制
 Tue Aug 21 17:02:26 2018 (gtgrhrthrhrhrthhhthrthrhrh)
 fjfpjpgporejpejgjr[eh[[[jh[j[ej[[ej[ej[e]]]]
 fkw[kgkeg[ekrk[ekg[kergk[erkg[eg[kg]
 Tue Aug 21 17:31:06 2018 ( ijwejfwfjwpfjwf[[few[jjfwfefwfeffeww]]
 fiowhfiweohewhfpwfhpfhpepwehfphpwhfpehfpwfh
 f,wfpewfefewgpwpg,pewgp
 Tue Aug 21 18:10:42 2018 ( reijpjfpjejferjfrejfpjefjer
 k[pfk[epkf[kr[ek[ke[gkk]
 r[g[keprkgpekg[rkg[pkg[ekg]

上面是文本文件中内容的一个例子。我想用re提取一个字符串。如何构造findall条件以达到以下预期结果?我尝试了以下几点:

代码语言:javascript
复制
  match=re.findall(r'[Tue\w]+2018$',data2)

但这是行不通的。我知道$是字符串末尾的符号。我该怎么做呢?

预期结果是:

代码语言:javascript
复制
  Tue Aug 21 17:02:26 2018
  Tue Aug 21 17:31:06 2018
  Tue Aug 21 18:10:42 2018
           .
           .
           .
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-24 15:23:28

使用以下模式:

代码语言:javascript
复制
^Tue.*?2018
  • ^断言行的起始位置。
  • Tue文本子字符串。
  • .*?懒洋洋地匹配任何东西。
  • 2018匹配文字子字符串。

由于您使用的是多行字符串,并且希望在字符串的开头匹配模式,所以必须使用re.MULTILINE标志。

代码语言:javascript
复制
import re
mystr="""
Tue Aug 21 17:02:26 2018 (gtgrhrthrhrhrthhhthrthrhrh)
fjfpjpgporejpejgjr[eh[[[jh[j[ej[[ej[ej[e]]]]
fkw[kgkeg[ekrk[ekg[kergk[erkg[eg[kg]
Tue Aug 21 17:31:06 2018 ( ijwejfwfjwpfjwf[[few[jjfwfefwfeffeww]]
fiowhfiweohewhfpwfhpfhpepwehfphpwhfpehfpwfh
f,wfpewfefewgpwpg,pewgp
Tue Aug 21 18:10:42 2018 ( reijpjfpjejferjfrejfpjefjer
k[pfk[epkf[kr[ek[ke[gkk]
r[g[keprkgpekg[rkg[pkg[ekg]
"""

print(re.findall(r'^Tue.*?2018',mystr,re.MULTILINE))

指纹:

代码语言:javascript
复制
['Tue Aug 21 17:02:26 2018', 'Tue Aug 21 17:31:06 2018', 'Tue Aug 21 18:10:42 2018']
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52007431

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档