我这样做对吗?
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
}
你想匹配以百分号结尾的单词吗?
$
匹配输入(或行)的结尾,而不是单个单词的结尾。如果要匹配所有以百分号结尾的单词,请使用以下正则表达式:
preg_match_all('/\b\w+%\b', $input, $matches);
$matches
然后将包含所有匹配的单词。
将正则表达式分开:
\w
匹配任何单词字符(字母、数字和下划线)+
匹配至少一次出现(“一次或多次”)\b
匹配单词边界%
只是一个百分号试着把它扔进一个if
声明中。默认情况下,preg_match
返回一个整数,其值为真或假。
你没有测试结果。
if(preg_match('/%$/', $line)){
echo "Line ends with %\n";
}