的模式的多個匹配項時的行爲與預期不符預期我的目標是在文本中查找某些模式的所有匹配項。 比方說,我的模式是:.NET Regex.Matches在查找包含*()
h.*o
這意味着我在尋找任何文本開始'h'
與'o'
結束並具有(也爲零)之間的任意數字字符的。
我的理解是,方法Matches()
將提供多個匹配根據描述(見MSDN)。
const string input = "hello hllo helo";
Regex regex = new Regex("h.*o");
var result = regex.Matches(input);
foreach (Match match in result)
{
Console.WriteLine(match.Value);
}
我的期望是:
1. "hello"
2. "hllo"
3. "helo"
4. "hello hllo"
5. "hello hllo helo"
令我驚訝返回比賽只包含一個字符串 - 整個輸入字符串。
"hello hllo helo"
問題:
- 哪一個是錯誤的:我的意料,我的正則表達式或階級的使用情況如何?
- 如何實現我的例子中顯示的結果?
在此先感謝。