2012-08-03 184 views
-2

我正確地做這件事嗎?正則表達式匹配以%結尾的字符串php

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

,但它不會工作! 請任何幫助

+5

當你說「不行」時,你是什麼意思?是否引發錯誤?它不符合你想要的嗎?什麼? – girasquid 2012-08-03 16:53:56

+0

不會拋出任何異常! – pahnin 2012-08-03 16:57:24

+0

您的模式對我的工作原理如下:http://codepad.viper-7.com/wpzQ59返回1. – 2012-08-03 16:57:54

回答

1

您的解決方案應該是正確的。

http://rubular.com/r/ovrRr2N7Ze

你也不能使用正則表達式,因爲這是這樣一個簡單的例子:

$string = trim($string); 
$matches = $string[strlen($string)-1] == '%'; 
if($matches) { 
    //do something 
} 
0

試着把它折騰成if聲明。默認情況下,preg_match返回一個整數,其值爲true或false。

您未測試結果。

if(preg_match('/%$/', $line)){ 
    echo "Line ends with %\n"; 
} 
1

你不需要正則表達式

if($str[strlen($str)-1] == '%') 
    //do stuff 
1

你想匹配以百分號結尾的單詞? $匹配輸入(或行)的結尾,而不是單個單詞的結尾。 如果你想匹配百分號結尾的單詞,請使用以下的正則表達式:

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

$matches然後將包含所有匹配的單詞。

以正則表達式開:

  • \w匹配任何字符(字母,數字和下劃線)
  • +匹配的至少一個出現時( 「一個或多個」)
  • \b匹配單詞邊界
  • %只是百分號
相關問題