我有一个类似下面的代码片段。
string bodyTypeAssemblyQualifiedName = "XXX.XX.XI.CustomerPayment.Schemas.r1.CustomerPayments_v01, XXX.XX.XI.CustomerPaym" +
"ent.Schemas.r1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ac564f277cd4488" +
"e";
我想在C#中使用正则表达式来获取它:
string bodyTypeAssemblyQualifiedName = null;
我尝试使用如下所示的RegEx,但它与换行符不匹配......
bodyTypeAssemblyQualifiedName\s=\s(?<location>.*?);
答案 0 :(得分:1)
这有效:
(小于=串\ sbodyTypeAssemblyQualifiedName \ S = \ S')(S:[^] *)(?=;)
相当于:
答案 1 :(得分:1)
@Will,通过用否定的字符类替换点,您就不再需要单行修饰符。如果我正确地阅读了这个问题,你也不需要使用外观。
bodyTypeAssemblyQualifiedName\s+=\s+(?<location>[^;]+);
答案 2 :(得分:0)
你可以尝试
bodyTypeAssemblyQualifiedName\s=\s(?<location>[.\n]*?);
或者为您的模式设置RegexOptions.Singleline
。
RegexOptions.Singleline - 指定单行模式。更改点(。)的含义,使其匹配每个字符(而不是除\ n之外的每个字符)。