'___'
开始匹配
但有些词最后也有'___'
。
但我不想匹配这些词
这是我的单词列表
___apis
___db_tables
___groups
___inbox_messages
___sent_messages
___todo
___users
___users_groups
____4underscorestarting
sinan
sssssssssss
test_______dfg
testttttt
tet____
tttttttttt
uuuuuuuu
vvvvvvvvvvvv
wwwwwwww
zzzzzzzzzz
我想只匹配这些单词
___apis
___db_tables
___groups
___inbox_messages
___sent_messages
___todo
___users
___users_groups
我不想匹配这些词
tet____
test_______dfg
____4underscorestarting
这是我尝试时的样子
答案 0 :(得分:2)
使用// $arr is your initial array of words
$matched = preg_grep("/^_{3}[^_].*/", $arr);
print_r($matched);
函数的解决方案:
Array
(
[0] => ___apis
[1] => ___db_tables
[2] => ___groups
[3] => ___inbox_messages
[4] => ___sent_messages
[5] => ___todo
[6] => ___users
[7] => ___users_groups
)
输出:
/^(?!_{3})\w*/
更新要获取与相反的匹配项,请使用以下选项之一:
preg_grep
PREG_GREP_INVERT
函数的第三个参数设置为preg_grep("/^_{3}[^_].*/", $arr, PREG_GREP_INVERT)
(... {{1}})答案 1 :(得分:1)
答案 2 :(得分:0)
^_{3}.*[^(_{3})]$