2016-02-10 308 views
-2

我使用正則表達式正則表達式不匹配模式

/[A-Za-z]{3}(P|p){1}[A-Za-z]{1}\d{4}[A-Za-z]{1}$/ 

匹配模式:

3 alphabets A to Z 
1 letter to be exactly P 
1 letter A to Z 
4 digits 
1 letter A to Z 

其工作的所有場景,但在這裏我們輸入文本

一個失敗的情況下
awdejhjhpr5467y 

您可以考慮測試它HERE

它在開始時接受超過3個字母。表達中缺少什麼有人可以幫忙!

+0

'/^[A-ZA-Z]減少該正則表達式{ 3}(P | p){1} [A-Za-z] {1} \ d {4} [A-Za-z] {1} $ /' –

+0

我假設這是一個獨立的字符串這樣在預期模式的左邊沒有相鄰的非空白字符? – jusopi

+1

['/^[az]{3}p[az]\d{4}[az]$/i'](https://regex101.com/r/xG6lP8/2) – Tushar

回答

1

在您的正則表達式中缺少^,否則將不會從字符串的開始處斷言匹配。也沒有必要的{1}和可以通過添加i標誌,該標誌忽略的情況下

/^[a-z]{3}p[a-z]\d{4}[a-z]$/i 

Regex explanation here

Regular expression visualization

+0

@VinodLouis你也忘了,有'我'國旗和'{1}'是不需要的。 – Tushar