-2

私はこれを正しくやっていますか?

preg_match("/%$/",$line,$matches)

しかし、それは機能しません!助けてください

4

4 に答える 4

1

正規表現は必要ありません

if($str[strlen($str)-1] == '%')
     //do stuff
于 2012-08-03T16:58:33.900 に答える
1

あなたの解決策は正しいはずです。

http://rubular.com/r/ovrRr2N7Ze

これは非常に単純なケースであるため、正規表現を使用することもできません。

$string = trim($string);
$matches = $string[strlen($string)-1] == '%';
if($matches) {
  //do something
}
于 2012-08-03T16:58:34.167 に答える
0

ifそれをステートメントに入れてみてください。デフォルトでpreg_matchは、trueまたはfalseのいずれかに評価される整数を返します。

結果をテストしていません。

if(preg_match('/%$/', $line)){
    echo "Line ends with %\n";
}
于 2012-08-03T16:56:38.580 に答える
0

パーセント記号で終わる単語を一致させますか? $1つの単語の終わりではなく、入力(または行)の終わりに一致します。パーセント記号で終わるすべての単語を一致させる場合は、次の正規表現を使用します。

preg_match_all('/\b\w+%\b', $input, $matches);

$matchesその後、一致するすべての単語が含まれます。

正規表現を分解する:

  • \w任意の単語文字(文字、数字、およびアンダースコア)に一致します
  • +少なくとも1つのオカレンスに一致します(「1つ以上」)
  • \b単語の境界に一致
  • %パーセント記号です
于 2012-08-03T17:01:33.917 に答える