正規化檢查重複出現的單詞
正規化檢查重複出現的單詞
使用情境
檢查 fish dog dog cat cat food
檢查出 dog dog, cat cat 兩組
關鍵技術
| 正規 | 描述 | 範例 | 匹配 |
|---|---|---|---|
| \b | 匹配一個單詞邊界,也就是指單詞和空格間的位置 | er\b | 匹配”never”中的”er”,但不能匹配”verb”中的”er” |
| \w | 與任何單詞字符匹配 | \w | “Room#1” 中的 “R”、 “o”、 “m” 和 “1” |
| (?< name >subexpression) | 將匹配的子表達式捕獲到一個命名組中 | (?< double>\w)\k< double> | “hello” 中的 “ll” |
| \k< name > | 命名反向引用。匹配命名表達式的值 | (?< char>\w+)\k< char> | “banana” 中的 “anan” |
| \s | 與任何空白字符匹配 | \w\s | “ABC1 D C” 中的 “D “ |
System.Text.RegularExpressions.MatchCollection
成功比對的集合
System.Text.RegularExpressions.Match
比對集合的單一類別
code
string s = textBox1.Text;
System.Text.RegularExpressions.MatchCollection matchs =
System.Text.RegularExpressions.Regex.Matches(s, @"\b(?<word>\w+)\s+(\k<word>)\b",
System.Text.RegularExpressions.RegexOptions.Compiled |
System.Text.RegularExpressions.RegexOptions.IgnoreCase);
foreach (System.Text.RegularExpressions.Match item in matchs)
{
string word = item.Groups["word"].Value;
}