我对正则表达式感兴趣,因为它找到了以下模式。
I或E表示第一个字母,N或S表示第2个,F表示第3个,第4个表示J或P第4个。
这将识别ISTJ,ESTP,ENTP但不识别EJPT。
由于
答案 0 :(得分:7)
应该很简单,使用Character Sets:[IE][NS][FT][JP]
总而言之:\b[IE][NS][FT][JP]\b
对于整个输入:^[IE][NS][FT][JP]$
工作示例:http://rubular.com/r/6VCwduNiTX
示例PHP代码:http://ideone.com/XgbFWY
$ptn = "/[IE][NS][FT][JP]/"; // use "/[IE][NS][FT][JP]/i" to ignore case
$str = "ISTJ, ESTP,ENTP but not EJPT";
preg_match_all($ptn, $str, $matches);