我想在这个字符串中捕获初始目录的值:
“等等等等初始目录 = MyCat'”
我希望结果是:MyCat
等号前后可以有也可以不可以有空格,单引号之前可以有也可以不可以有空格。
尝试了这个和其他各种但没有去:
/Initial Catalog\s?=\s?.*\s?\'/
使用.Net。
我想在这个字符串中捕获初始目录的值:
“等等等等初始目录 = MyCat'”
我希望结果是:MyCat
等号前后可以有也可以不可以有空格,单引号之前可以有也可以不可以有空格。
尝试了这个和其他各种但没有去:
/Initial Catalog\s?=\s?.*\s?\'/
使用.Net。
您需要在要匹配的字符串部分周围加上括号:
/Initial Catalog\s*=\s*(.*?)\s*'/
此外,您希望在 之前排除尽可能多的空格'
,因此您需要\s*
而不是\s?
. 这.*?
意味着提取的字符串部分不占用这些空格,因为它现在是惰性的。
这是一个不错的正则表达式
= *(.*?) *'
使用这个想法并根据需要添加 \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
}
Regex rgx = new Regex(@"=\s*([A-z]+)\s*'");
String result = rgx.Match(text).Groups[1].Value;