在python中匹配一行

在python中匹配一行,python,string,Python,String,我需要在现有xml文件中添加一行额外内容。我需要加一行。 现有xml文件具有以下行: <serviceInstance name="idstore.ldap" provider="idstore.ldap.provider"> <property name="idstore.config.provider" value="oracle.security.jps.wls.internal.idstore.WlsLdapIdStoreConfigProvider"/>

我需要在现有xml文件中添加一行额外内容。我需要加一行。 现有xml文件具有以下行:

 <serviceInstance name="idstore.ldap" provider="idstore.ldap.provider">
  <property name="idstore.config.provider" value="oracle.security.jps.wls.internal.idstore.WlsLdapIdStoreConfigProvider"/>

我需要在这两行之后再加一行

因此,我编写了一个代码,打开源文件并逐行复制到新的目标文件。 在复制的for循环中,我设置了一个条件

for line in source:
    if line.strip().startswith('<property name=\"idstore.config.provider\"'):
        print 1                
        destination.write(line)
        destination.write('<property name=\"virtualize\" value=\"false\"/>')#
        continue
    else:
        print 2
        destination.write(line)
        continue
对于源代码中的行:

如果line.strip().startswith(“您的问题是在字符串前面使用
r
。Python使用该标志逐字解释字符串,即

r'test\"'
正是

'test\\"'

删除字符串中的
r
或删除
\

如果它是XML文件,请使用XML解析器。从长远来看,您会帮自己一个忙。这是因为行前面有空格吗?请尝试:
line.strip().startswith(…)
@freakish我添加了strip()并删除了r。它现在仍在工作。正则表达式会有什么帮助吗?@Shockeduser否,将正则表达式与XML一起使用是一种异端。字符串前面的
[]*
是什么?请删除它。对于复制代码时所做的调整,我深表歉意。发现很难正确格式化以将其显示为代码