我有一個正則表達式,在ASP.NET頁面路由中用於URL重寫時適用於我。ASP.NET正則表達式問題
但是,當我嘗試在我的ASP.NET代碼中的其他地方使用它時,它會讓我不想要的字符串過去。
我的正則表達式,
[-_a-zA-Z0-9/]+(\.aspx(\?.+)?)?
這是爲了允許與不帶擴展名或用.aspx文件擴展名的文件/路徑字符串,但不允許文件/路徑具有其他擴展名,如。 「whatever.js」。
我使用它在我的應用程序像這樣的失敗別處......
if (Regex.IsMatch(pageUrl, @"[-_a-zA-Z0-9/]+(\.aspx(\?.+)?)?"))
看來,作爲字符串的一部分與它匹配讓它通過。但我怎樣才能確保整個字符串(pageUrl)匹配?
嘗試: 「(ASPX(\ +)?。?)^ [-_ A-ZA-Z0-9 /] + $?」'@', '^'表示「行的開始」和「$'」行的末尾「。 – 2011-05-23 06:49:57