用于检查字符串的正则表达式以

use*_*047 1 php regex

我试图匹配一个以K,P,J和NI开头的字符串.我正在使用以下正则表达式:

^[kpjni](.*)$
Run Code Online (Sandbox Code Playgroud)

但是,它不能按我的意愿工作.它接受任何以N或I开头的字符.我怎么能强制它匹配NI而不是N和我分开.

Ben*_*lan 6

你所追求的正则表达式是这样的:

/^([kpj]|ni).*$/i
Run Code Online (Sandbox Code Playgroud)

这将匹配字符串开头的K,P,J,NI,k,p,j,ni,Ni和nI,然后是任何其他字符组合.

这是一个JSfiddle演示匹配:http://jsfiddle.net/45UU7/

此外,还有一个实时测试,您可以在其中更改值以检查其匹配项:http://regex101.com/r/fJ2wF3/