私はこれを正しくやっていますか?
preg_match("/%$/",$line,$matches)
しかし、それは機能しません!助けてください
正規表現は必要ありません
if($str[strlen($str)-1] == '%')
//do stuff
あなたの解決策は正しいはずです。
http://rubular.com/r/ovrRr2N7Ze
これは非常に単純なケースであるため、正規表現を使用することもできません。
$string = trim($string);
$matches = $string[strlen($string)-1] == '%';
if($matches) {
//do something
}
if
それをステートメントに入れてみてください。デフォルトでpreg_match
は、trueまたはfalseのいずれかに評価される整数を返します。
結果をテストしていません。
if(preg_match('/%$/', $line)){
echo "Line ends with %\n";
}
パーセント記号で終わる単語を一致させますか?
$
1つの単語の終わりではなく、入力(または行)の終わりに一致します。パーセント記号で終わるすべての単語を一致させる場合は、次の正規表現を使用します。
preg_match_all('/\b\w+%\b', $input, $matches);
$matches
その後、一致するすべての単語が含まれます。
正規表現を分解する:
\w
任意の単語文字(文字、数字、およびアンダースコア)に一致します+
少なくとも1つのオカレンスに一致します(「1つ以上」)\b
単語の境界に一致%
パーセント記号です