我需要使用正則表達式從rtf格式的文本中提取粗體文本。例如:\ b棕色狐狸\ b0跳過\ b懶惰狗\ b0。在C#中使用正則表達式來匹配rtf格式的文本
我怎樣才能得到\ b和\ b0之間的文字?我想這個表達,但它僅返回第一場比賽:(\\b.+\b0[^\\b])
我需要使用正則表達式從rtf格式的文本中提取粗體文本。例如:\ b棕色狐狸\ b0跳過\ b懶惰狗\ b0。在C#中使用正則表達式來匹配rtf格式的文本
我怎樣才能得到\ b和\ b0之間的文字?我想這個表達,但它僅返回第一場比賽:(\\b.+\b0[^\\b])
string s = @"The \b brown fox\b0 jumped over the \b lazy dog\b0";
Regex rgx = new Regex(@"\\b(.*?)\\b0");
foreach (Match m in rgx.Matches(s))
{
Console.WriteLine(m.Groups[1].Value);
}
或者您可以使用捕捉:
string s = @"The \b brown fox\b0 jumped over the \b lazy dog\b0";
Regex rgx = new Regex(@"(.*?\\b(.*?)\\b0)*");
foreach (Capture c in rgx.Match(s).Groups[2].Captures)
{
Console.WriteLine(c.Value);
}
謝謝你,你的表情也解決了這個問題。 – FadelMS
逃離反斜槓'\ \'。還要使匹配非貪心,'+?', –