如何在字符串中的另一个字符周围找到一些字符?

时间:2017-08-23 13:14:19

标签: python regex string

我有:

  

Lorem Ipsum只是打印和排版的虚拟文本   行业。 Lorem Ipsum一直是业界标准的虚拟文本   自16世纪以来,当一个未知的打印机采用了类型的厨房   把它拼凑成一本样本书。 Lorem的标准块   自16世纪以来使用的Ipsum在下面转载给那些感兴趣的人。   来自“de Finibus Bonorum et Malorum”的第1.10.32和1.10.33节   西塞罗也以其原始形式复制。

我想搜索1500s然后选择一些字符,例如:ever since the 1500s, when an unknown。考虑到我在for循环中搜索,试图在一个很长的字符串中找到所有1500s。所以下一个循环就是找到:used since the 1500s is reproduced

我使用正则表达式来查找子字符串:

substring = re.findall('1500s', string)

但是如何在它周围选择约20个字符?

2 个答案:

答案 0 :(得分:2)

正如cricket_007所说,你可以尝试使用.{20}作为你的正则表达式模式的书挡。

substring = re.findall('.{0,20}1500s.{0,20}', s)

答案 1 :(得分:0)

 r"(.{20})?(1500)(.{20})?" g

这也将在字符串的开头/结尾搜索" 1500" 。我把它们分组,只是为了整理正则表达式。

See it work here