我想定義一個「有效」的輸入,這是_-.
將不會在年底或字符串的開頭允許的,只允許在中間。允許在中間的特定字符,而不是在開始前或結束
可接受的字符(位置無所謂):a-zA-Z0-9
和所有的希伯來字母,我不知道如何讓他們在一個正則表達式
(也許只是硬編碼的所有的信嗎?) 不可接受的字符(位置無關緊要):除了我之前提供的特殊符號之外的所有符號。
我不知道如何建立這種模式,如果你能在每個部分中添加提示和意見,所以我就明白了。謝謝!
這不是功課,只是爲了自我學習。
我想定義一個「有效」的輸入,這是_-.
將不會在年底或字符串的開頭允許的,只允許在中間。允許在中間的特定字符,而不是在開始前或結束
可接受的字符(位置無所謂):a-zA-Z0-9
和所有的希伯來字母,我不知道如何讓他們在一個正則表達式
(也許只是硬編碼的所有的信嗎?) 不可接受的字符(位置無關緊要):除了我之前提供的特殊符號之外的所有符號。
我不知道如何建立這種模式,如果你能在每個部分中添加提示和意見,所以我就明白了。謝謝!
這不是功課,只是爲了自我學習。
@"^[a-zA-Z\dא-ת][a-zA-Z_\-\.\dא-ת]*[a-zA-Z\dא-ת]$"
如果你想允許 「_.-」 沒有重複:
@"^[a-zA-Z\dא-ת]([a-zA-Z\dא-ת]+[_\.\-]?)*[a-zA-Z\dא-ת]$"
如果你想允許在中間的空格:
@"^[a-zA-Z\dא-ת][a-zA-Z_\-\.\d\sא-ת]*[a-zA-Z\dא-ת]$"
如果你想空格+「_.-」無重複:
@"^[a-zA-Z\dא-ת]([a-zA-Z\d\sא-ת]+[_\.\-]?)*[a-zA-Z\dא-ת]$"
因此,使用正則表達式:
var isValid = Regex.IsMatch(input, @"...");
另外,如果你打算使用正則表達式多次在代碼中,我建議增加RegexOptions.Compiled標誌,以提高速度。
var isValid = Regex.IsMatch(input, @"...", RegexOptions.Compiled);
允許的符號,它們可以離開末端一個字符嗎?可以有兩個彼此相鄰嗎? (將「'一... Z'」是你會想要有效嗎?) – 2012-04-21 09:35:04
這是一個偉大的一點,感謝指出了這一點:'a..b'是無效的,但是''a.b''是有效。使用@Yorye提供的模式,我該如何應用此設置?提供模式:'@ 「^ [A-ZA-Z \ dא-ת] [。\ S \ W \א-ת\ - ] * [A-ZA-Z \ dא-ת] $」' – Novak 2012-04-21 09:40:58