之间找到子,我想捕捉初始目录的价值在此字符串:正则表达式来两个字符串
“等等等等初始目录= MyCat'”
我想的结果成为:MyCat
在等号前后可能有或没有空格,并且在单引号之前可能有或没有空格。
尝试这样做各种别人,而是没有去:
/Initial Catalog\s?=\s?.*\s?\'/
使用.NET。
之间找到子,我想捕捉初始目录的价值在此字符串:正则表达式来两个字符串
“等等等等初始目录= MyCat'”
我想的结果成为:MyCat
在等号前后可能有或没有空格,并且在单引号之前可能有或没有空格。
尝试这样做各种别人,而是没有去:
/Initial Catalog\s?=\s?.*\s?\'/
使用.NET。
这是一个很好的正则表达式
= *(.*?) *'
使用的想法,并根据需要添加\ s或更高文字文本。
在C#1组将包含比赛
string resultString = null;
try {
Regex regexObj = new Regex("= *(.*?) *'");
resultString = regexObj.Match(subjectString).Groups[1].Value;
} catch (ArgumentException ex) {
// Syntax error in the regular expression
}
你需要把周围的字符串的一部分,你想匹配的括号:
/Initial Catalog\s*=\s*(.*?)\s*'/
你也想排除尽可能多的空间前'
,所以你需要\s*
而不是\s?
。 .*?
意味着字符串的提取部分不会占用这些空格,因为它现在是懒惰的。
Regex rgx = new Regex(@"=\s*([A-z]+)\s*'");
String result = rgx.Match(text).Groups[1].Value;
你会得到什么结果? – gereeter
空白或不匹配。 –