正则表达式:从单行获得第一个价值

时间:2015-03-12 23:38:47

标签: regex xml

我在一行上有以下xml,我想获取DBB的字符串并使用regex替换它

<Configuration ConfiguredType="Property" Path="\Package.Connections[DBA DB].Properties[ConnectionString]" ValueType="String"><ConfiguredValue>Data Source=.\test;Initial Catalog=DBA;Provider=SQLNCLI10.1;Integrated Security=SSPI;Auto Translate=False;Application Name=B;</ConfiguredValue></Configuration><Configuration ConfiguredType="Property" Path="\Package.Connections[DBB DB].Properties[ConnectionString]" ValueType="String"><ConfiguredValue>Data Source=.\test;Initial Catalog=DBB;Provider=SQLNCLI10.1;Integrated Security=SSPI;Auto Translate=False;Application Name=C;</ConfiguredValue></Configuration></DTSConfiguration>

我有以下内容适用于多行xml,但不适用于单行示例

Data Source=.+?(?=[a-z])*\;Initial Catalog=DBB;(.*?)Integrated(.*?)[^;]*;

上面的正则表达式突出了DBA和DBB,并在那里结束。

你能帮我找到我创建的正则表达式中缺少的部分

1 个答案:

答案 0 :(得分:1)

Data Source=.+?替换为Data Source=[^<]+?,以避免遍历代码的开头。