在两个字符之间打印字符串python

时间:2018-12-06 19:24:10

标签: python regex string list

我正在尝试获取两个字符串之间的字符串,如下所示。

my_string = '[bbdate]august[ebdate]'
desired_output = august

我尝试了下面的代码,但是没有用。

s = '[bbdate]august[ebdate]'
result = re.search('[bbdate](.*)[ebdate]', s)

把这个给了我
     print (result.group(1)) = bbdate]august[ebdate

预先感谢

2 个答案:

答案 0 :(得分:1)

尝试一下-

result = re.search('\[bbdate\](.*)\[ebdate\]', s)

问题在于,如果没有\,则将方括号视为正则表达式字符的一部分,而不是字符串的一部分。

答案 1 :(得分:0)

您可以使用类似的内容:

import re
s = '[bbdate]august[ebdate]'
r = re.findall(r"\](.*?)\[", s)
print(r)
# ['august']

Regex Demo & Explanation

enter image description here


注意:

  1. [bbdate]august[ebdate]无效python syntax,因为 您正在尝试将list[bbdate])附加到stringaugust
  2. 您也可以使用re.sub来完成这项工作:
    r = re.sub(r".*?\](.+)\[.*", r"\1", s)