我試圖創建一個表達式來檢查響應是否至少有三個字母。數字,空格和其他所有字符都是有效的。下面的內容只適用於特殊角色不首先出現的情況。正則表達式必須至少有3個字母字符
(?=(.*[a-zA-Z]){3,})^[a-zA-Z0-9].+$
我試圖創建一個表達式來檢查響應是否至少有三個字母。數字,空格和其他所有字符都是有效的。下面的內容只適用於特殊角色不首先出現的情況。正則表達式必須至少有3個字母字符
(?=(.*[a-zA-Z]){3,})^[a-zA-Z0-9].+$
(?:[a-zA-Z][^a-zA-Z]*){3}
匹配(一個字母,接着由任何非leters)的3倍。 (?:)
使它更有效率,因爲正則表達式引擎不必捕獲。
當然,沒有正則表達式可能會更容易閱讀和理解。這裏是C#/ linq示例。
if (s.Count(char.IsLetter) >= 3)
{
// is valid.
}
這是因爲^表示「始於」。你有一個你正在測試的例子嗎? – Drazisil
哪種語言? –
這將是一個有效的迴應。 「*我們三個。」 – JMILLS