あなたが探している特定の文字列を持っているときに、正規表現を少しでも過剰に使ってください。 PHPの標準的な文字列検索関数の1つを使用すれば問題ありません。
strstr関数は動作しますが、従来のPHP Wisdom(read:myth、legend、superstition、the manual)は、strpos関数を使用するとパフォーマンスが向上すると言います。すなわち、
if(strpos($string, '_archived') !== false) {
}
あなたがここに真の不平等演算子を使用したいと思う
のようなもの、それはそれの干し草の山の開始時に針が見つかったときに「0」を返しますstrposとして。詳細は、the manualを参照してください。
PHPの正規表現エンジンでは、正規表現の文字列を区切り文字で囲むことを想定しています。区切り文字のセットは、さまざまな文字( "/"または "|" 「{」または「#」、または...)。PHPエンジンはで、あなたがそう
_archived$
あるパターン修飾子のセットを持つ
.*
の正規表現をしたいと考えて将来、正規表現を使用するときは、
のようなものを試してみてください
//equivilant
preg_match('/(.*)_archived$/i',$string);
preg_match('{(.*)_archived$}i',$string);
preg_match('#(.*)_archived$#i',$string);
"/"、 "#"、 "{}"は区切り文字です。彼らはマッチで使用されていない、彼らはエンジンに伝えるために使用される "これらの文字の間のものは私のreg exです。最後の" i "は、大文字と小文字を区別しないと言うパターン修飾子です。しかし、私はここにそれを入れて、パターン修飾子がどのように見えるかを見て、最初にデリミタが必要な理由を理解するのを助ける。
感謝私はstrstrをreg exとして使用するだろう。 – Lizard
ああ、絶対に。Regexは、使用できる場所があります.Zend Frameworkでは、他のメソッドにマップされる「魔法のメソッド」を作成するためによく使われますが、 PHPの__call($ functionName、$ args)関数をオーバーライドし、関数名の関連部分をマッチさせ、それらを実際のメソッドにマップするためにregexを使います。 .e。findXByY()=> find( 'X'、 'Y') – PatrikAkerstrand