我这样做是否正确?
preg_match("/%$/",$line,$matches)
但它不会工作! 任何帮助,请
答案 0 :(得分:1)
你不需要regexp
if($str[strlen($str)-1] == '%')
//do stuff
答案 1 :(得分:1)
你的解决方案应该是正确的。
http://rubular.com/r/ovrRr2N7Ze
您也可以不使用正则表达式,因为这是一个非常简单的情况:
$string = trim($string);
$matches = $string[strlen($string)-1] == '%';
if($matches) {
//do something
}
答案 2 :(得分:1)
您想匹配以百分号结尾的单词吗?
$
匹配输入(或行)的结尾,而不是单个单词的结尾。
如果要匹配以百分号结尾的所有单词,请使用以下正则表达式:
preg_match_all('/\b\w+%\b', $input, $matches);
然后 $matches
将包含所有匹配的字词。
将正则表达式分开:
\w
匹配任何字字符(字母,数字和下划线)+
至少匹配一次(“一个或多个”)\b
匹配字边界%
只是百分号答案 3 :(得分:0)
尝试将其折腾成if
语句。默认情况下,preg_match
返回一个整数,其值为true或false。
您没有测试结果。
if(preg_match('/%$/', $line)){
echo "Line ends with %\n";
}