簡體   English   中英

PHP將字符串與正則表達式匹配,如果匹配的字符串后沒有數字

[英]PHP Match the string to regex, if after the matched string are no digits

可以說我有一個excel函數,例如IF(A1>0,1,2)我通過pregex匹配它,並通過字典將其翻譯成捷克語( KDYŽ(A1>0,1,2) )。 當我將其翻譯回時,我應該得到相同的字符串,但是我得到的是IF(AND1>0,1,2) 因為“ A”是捷克語中的“ AND”,所以它是excel函數中的關鍵字之一。

所以我需要在所有字母都沒有數字(=不是單元格名稱)之后對所有字母進行grep,當我使用此代碼獲取匹配單詞的數組時如何實現呢?

$text = strtolower("KDYŽ(A1>0,1,2)");

if (preg_match_all('/[a-zěščřžýáíéúůóďťň]+/i',$text,$match)) {
  /* matched text should be:
  $match[0] = "KDYŽ";
  no $match[1] = "A" should exists;*/
}

采用

'/[a-zěščřžýáíéúůóďťň]+[^0-9]/i'

這會使您的字符不跟在0-9之間。 您還需要從匹配中刪除最后一個字符,因為搜索字符串后面的第一個字符也將返回。

或者,嘗試

'/[a-zěščřžýáíéúůóďťň]+(?![0-9])/i'

這是負面的預見。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM