個々の単語を分割するために必要なテキストファイルをいくつか用意します。しかし、言葉の非常に自由な定義で。
\b
境界を正しく識別しているように見えますが、幅がゼロであるため、^\bは何もしません。
.NET string.parseの方が速いかもしれませんが、一致位置も必要です。
私が最終的に得たものを以下に示します。^をゼロ以外で使用すると、中断したかったのです。休憩を無視したい日付、メールアドレス、URLを追加しました。
私は、解決策が私の元の問題ステートメントにあまり近くないことを知っています。それは進化しました。よろしくお願いします。
String line;
pattern = @"\w+@\w+|[01]?\d\/[0123]?\d\/([12]\d)?\d\d|https?:\/\/(?:\w+\.){1,3}\w+|[^\s\.\\///?!()@,]{2,200}";
while ((line = sr.ReadLine()) != null)
{
Debug.WriteLine(line);
foreach (Match match in Regex.Matches(line, pattern, RegexOptions.IgnoreCase))
{
Debug.WriteLine(match.Index.ToString() + " " + match.Value);
}
break;
}