我一直使用ASP.NET和Javascript以下正則表達式:正則表達式匹配錯誤
[a-zA-ZöäüÖÄÜß0-9]{1}[a-zA-ZöäüÖÄÜß0-9_.\-]{2,14}[a-zA-ZöäüÖÄÜß0-9.!]{1}
現在,我遷移到ASP.NET MVC和我檢查我的代碼。 我發現
'test'
%test
也匹配。 這可能是因爲不需要匹配整個字符串。 「測試」內的測試是有效的匹配。
如何更改RegEx以匹配整個字符串,而不僅僅是部分?
我一直使用ASP.NET和Javascript以下正則表達式:正則表達式匹配錯誤
[a-zA-ZöäüÖÄÜß0-9]{1}[a-zA-ZöäüÖÄÜß0-9_.\-]{2,14}[a-zA-ZöäüÖÄÜß0-9.!]{1}
現在,我遷移到ASP.NET MVC和我檢查我的代碼。 我發現
'test'
%test
也匹配。 這可能是因爲不需要匹配整個字符串。 「測試」內的測試是有效的匹配。
如何更改RegEx以匹配整個字符串,而不僅僅是部分?
如果你想整個字符串匹配,使用^
和$
錨:
^[a-zA-ZöäüÖÄÜß0-9][a-zA-ZöäüÖÄÜß0-9_.\-]{2,14}[a-zA-ZöäüÖÄÜß0-9.!]$
注:我也下降{1}
,因爲它是作爲一個量詞完全是多餘的,默認情況下,任何字符或類僅匹配單個事件。您可能還想使用不區分大小寫的修飾符來縮短角色類別。 (使用Javascript中的/i
)。
^[a-zA-ZöäüÖÄÜß0-9]{1}[a-zA-ZöäüÖÄÜß0-9_.\-]{2,14}[a-zA-ZöäüÖÄÜß0-9.!]{1}$
其中^
開始和$
線(文本)的端部相匹配。
謝謝,它很好用。 – Sparhawk 2010-06-21 10:37:31
這些最近出現的所有這些毫無意義的「{1}」是什麼?!?我認爲在過去的一週中我看到了比使用正則表達式多年的更多。 :S – 2010-06-22 19:15:12