私はこれを正しくやっていますか?
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単語の境界に一致%パーセント記号です