python正则表达式以包含##开头

时间:2017-05-01 07:47:16

标签: python regex

我想用python regex找到包含这个条件的文本中的所有字符串:

以[##开头并以##结尾]

的字符串

条件是块中的文本[##(some text)##]可以包含除##

之外的任何字符

例如:

asdasd [## db.tb.hh | db.dd.cc |(0)| ##] asdasdasd

想要提取[## db.tb.hh | db.dd.cc |(0)| ##]

2 个答案:

答案 0 :(得分:1)

使用此正则表达式:\[##.*?##\] Regex101 Demo

  

re.compile('## ^((?!##)。)* $ ##')或re.compile('## ^((##)+)##')它们都不起作用

原因:

  1. ##^((?!##).)*$##中,您正在使用^$查找整个字符串。此外,负面前瞻也无用。

  2. ##^((##)+)##中,您再次从字符串的开头寻找匹配。

答案 1 :(得分:0)

我想你可以使用:

import re
result = re.findall(r"\[##[^#]*##]", string)

this

enter image description here
Regex Demo