私は正規表現について勉強をヘルプ、私は1つまたは複数の文字にマッチについていくつかを考え出したが、私はケースを持っていますが、これを解決する方法がわからない...例えばはPHPで正規表現
私が持っています:
$data = "bla bla -start- blu blu blu -end- bla bla";
$pattern = "/\-start\-[\w]\-end\- /";
preg_match($pattern, $data, $matches);
print_r($matches);
i 'は-start-' と ' - 終わり - ' の間の何かを取るつもりなので、私は
'ブルブルブルーレイ' を得ることを期待。
提案がありますか?
ハイフンは、文字クラスを除いてエスケープする必要はありません。あなたの答えは、そうでなければスポットライトです。 – coreyward
@coreyward:私はそう思っていないし、チェックしていた - 迅速なテストを実行し、特にエスケープは何も壊れていない。とにかく、適切に更新されました。 –
彼の質問には言及していませんが、 '-start-'と '-end-'の間に改行文字がある場合は、 's'の" dot-all "修飾子を設定したいと思うでしょう。したがって、 '$ pattern ="%-start-(。+?)-end-%six ";'エンジンが空白を無視するので、複雑なパターンを読みやすくするために 'x'修飾子を使います大文字と小文字を区別しないための 'i'修飾子だけでなく、' \ s'で含める場合は空白をパターンに追加する必要があります)。 – Dan