【问题标题】:find a string within a tag without finding the tag in python在标签中查找字符串而不在python中找到标签
【发布时间】:2011-06-13 22:18:54
【问题描述】:

我在标签中有一个字符串,我想在不找到标签的情况下提取它。我试过了:

string = re.search("\[tag\](.*?)\[tag\]", "[tag]string[tag]")
print(string.group(0))

string = re.search("/\[tag\](.*?)\[tag\]/i", "extra[tag]string[tag]extra")
print(string.group(0))

都返回

[tag]string[tag]

【问题讨论】:

    标签: python regex bbcode


    【解决方案1】:

    .group(0) 是整个匹配项。使用.group(1) 获取您想要的括号中的部分。

    import re
    string = re.search("\[tag\](.*?)\[tag\]", "[tag]string[tag]")
    print string.group(1) # prints 'string'
    

    【讨论】:

      【解决方案2】:

      group(0) 是整个匹配项。你想要group(1)

      http://ideone.com/Q9sUt

      【讨论】:

        【解决方案3】:

        您也可以使用积极的前瞻/后瞻:

        import re
        text = """
                  [tag]string[tag]
                  [tag]string1[tag]
                  [tag]string2[tag]
                  [tag]string3[tag]
                  [tag]string4[tag]
        """
        print re.findall(r'(?i)(?<=\[tag\])\w*(?=\[tag\])', text)
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-06-14
          • 2021-07-16
          • 1970-01-01
          • 1970-01-01
          • 2015-09-06
          • 2023-04-10
          • 1970-01-01
          相关资源
          最近更新 更多