1
假設我有以下代碼爲C#控制檯應用程序。正則表達式不捕獲多個匹配
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
namespace stupidconsoleapp
{
class Program
{
static void Main(string[] args)
{
Regex regx = new Regex(@"^(?:https?://)?(?:[\w]+\.)(?:\.?[\w]{2,})+$");
string test = Console.ReadLine();
foreach (Match match in regx.Matches(test))
Console.WriteLine("Match: " + match.Value);
Console.WriteLine("Press any key to exit.");
Console.ReadKey();
}
}
}
我給它「http://www.cnn.com」,它告訴我這個詞匹配;我再次運行並給它「www.cnn.com」,我再次得到一個匹配;我再次運行它,並給它「cnn.com」,並獲得我的第三次成功的比賽。
但是,如果我只是輸入「http://www.cnn.com www.cnn.com cnn.com」我沒有得到任何匹配。
這是爲什麼?我的正則表達式錯了嗎?