具有复杂字符的Python正则表达式

时间:2018-04-11 10:39:25

标签: python regex

我在python代码中遇到正则表达式问题。我试图解析结构如下的文件:

private double Dpi = 96;
private const double A4_WIDTH = 8.29;
private const double A4_HEIGHT = 11.69;

    public void Printing()
        {
    child.Width = A4_WIDTH *Dpi;
    child.Height = A4_HEIGHT *Dpi;

    //Your code

     fixedPage.Width = A4_WIDTH * Dpi;
     fixedPage.Height = A4_HEIGHT * Dpi;
...

     fixedPage.Children.Add(child);

    }

有几个相同模式的盒子。 我想只得到包含' abcd'的盒子。串。我设法找到了所有'abcd'但我无法获得---之间的所有文字。我试图建立一个玩具弦,但我不能让它起作用。代码如下:

------------
some complex text
abcd
more text
-----------

感谢任何帮助 编辑:我修改了文本示例,使其更加真实

1 个答案:

答案 0 :(得分:0)

我认为你不需要正则表达式来找到一个简单的字符串。这可能是您正在寻找的内容的简化:

s="""
some complex text
abcd
more text
-----------
some complex text
aoecd
more text
-----------
some complex text
abcd
more text
"""
# split the strings and add only those that contain "abcd"
result = [d for d in s.split("-----------") if "abcd" in d]
for r in result:
    print(r)
# result:
# some complex text
# abcd
# more text
# 
# some complex text
# abcd
# more text

如您所见,我们在出现"-----------"时拆分字符串,然后我们评估子字符串" abcd"包含在每个字符串中,并保持通过此条件的字符串。