0 我需要一個匹配[a-zA-Z][a-zA-Z0-9_-]*的正則表達式,但只有它不匹配admin。PHP:如何使用正則表達式匹配某些約束而不是另一個約束? 這個想法是阻止admin,讓其他所有的東西匹配上面的正則表達式。 任何想法? 來源 2012-11-12 Tony Bogdanov +0 'if($ var!='admin'&& // regex' – +0 不能在這裏使用php,我們在談論zf2配置:) –
3 使用negative lookahead排除「管理員」: ^(?!admin$)[a-zA-Z][a-zA-Z0-9_-]*$ 的想法是,你需要像(?!^admin$)之初斷言,輸入不符合「管理」。 來源 2012-11-12 09:04:19 Jon +0 這是zf2路由配置中的一個控制器約束,所以我不得不修改它有點,但它確實有效:'(?!admin)[a-zA-Z] [a-zA-Z0-9 _-] *'謝謝! – +0 @Tony:刪除錨點會使輸入「admin」導致匹配「dmin」 - 您應該知道這一點。 – Jon +0 不會像'adming'這樣的regex無效名稱嗎? – Carlos
'if($ var!='admin'&& // regex' –
不能在這裏使用php,我們在談論zf2配置:) –