我正在構建一個將命名的正則表達式保存到數據庫中的應用程序。看起來是這樣的:如何驗證輸入是否包含有效的.Net正則表達式?
我使用Asp.Net形式。我如何驗證輸入的正則表達式?它希望用戶知道輸入的正則表達式是否不是有效的.Net正則表達式。
領域應該拒絕像值:
^Wrong(R[g[x)]]$
Invalid\Q&\A
我正在構建一個將命名的正則表達式保存到數據庫中的應用程序。看起來是這樣的:如何驗證輸入是否包含有效的.Net正則表達式?
我使用Asp.Net形式。我如何驗證輸入的正則表達式?它希望用戶知道輸入的正則表達式是否不是有效的.Net正則表達式。
領域應該拒絕像值:
^Wrong(R[g[x)]]$
Invalid\Q&\A
像這樣的東西可能:
public static class RegexUtils
{
public static bool TryParse (string possibleRegex, out Regex regex)
{
regex = null;
try
{
regex = new Regex(possibleRegex);
return true;
}
catch (ArgumentException ae)
{
return false;
}
}
}
有趣的問題。看這篇文章是不可能的:http://stackoverflow.com/questions/2789407/regular-expression-for-regular-expressions –
這很難,因爲基本上任何東西都是正則表達式,只是不正確的正則表達式不會匹配任何東西。您可以提供一個測試箱,用戶可以在其中輸入相匹配的內容,並且可以針對此測試輸入測試輸入的正則表達式。 – Davio
@DanFox,驗證不一定要通過正則表達式來完成,特別是如果這是不可能的。 –