我在正则表达式上工作了几个小时.
location in [chambre, cuisine, salle-de-bain, jardin]
我只想在一个步骤中验证形状是否为[word,word,word…]我想抓住每一个单词.(为了提高性能,我只想在一个步骤中完成,因为这段代码已经有三个步骤了,但太长了)
我当前的正则表达式是:
/([a-zA-Z]+)\s+in\s+\[\s*([a-zA-Z-]+)\s*(?:,\s*([a-zA-Z-]+)\s*)*\s*\]/
我找到了位置、房间和花园.我不go 厨房和浴室
$condition = 'location in [chambre, cuisine, salle-de-bain, jardin]'
$analyse = preg_match('/([a-zA-Z]+)\s+in\s+\[\s*([a-zA-Z-]+)\s*(?:,\s*([a-zA-Z-]+)\s*)*\s*\]/',$condition, $matches);
var_dump($matches);
array:4 [▼
0 => "location in [chambre, cuisine, salle-de-bain, jardin]"
1 => "location"
2 => "chambre"
3 => "jardin"
]
我在正则表达式中找不到错误的地方来捕捉缺失的两个单词.我只得到数组中的第一个和最后一个...