判斷字串是否含有中英文和數字

2021-09-16 12:34:55 字數 1007 閱讀 6792

對於正規表示式一直不是很擅長,所以有必要記錄一下。

行定位符是用來描述字串的邊界。「$」表示行結尾「^」表示行開始如"^de",表示以de開頭的字串 "de$",表示以de結尾的字串。

我們在查詢的乙個單詞的時候,如an是否在乙個字串」gril and body」中存在,很明顯如果匹配的話,an肯定是可以匹配字串「gril and body」匹配到,怎樣才能讓其匹配單詞,而不是單詞的一部分呢?這時候,我們可以是喲個單詞定界符b。

banb 去匹配」gril and body」的話,就會提示匹配不到。

當然還有乙個大寫的b,它的意思,和b正好相反,它匹配的字串不能使乙個完整的單詞,而是其他單詞或字串中的一部分。如banb。

選擇字元表示或的意思。如aa|aa,表示aa或者是aa的意思。注意使用」」與」|」的區別,在於」」只能匹配單個字元,而」|」可以匹配任意長度的字串。在使用」」的時候,往往配合連線字元」-「一起使用,如[a-d],代表a或b或c或d。

正規表示式提供了」^」來表示排除不符合的字元,^一般放在中。如1

,該字元不是1~5之間的數字。

限定符主要是用來限定每個字串出現的次數。

限定字元含義?

零次或一次

*零次或多次

+一次或多次

n次至少n次

n到m次

/x表示16進製制

/u 表示按unicode(utf-8)匹配(主要針對多位元組比如漢字)

/i 表示不區分大小寫(如果表示式裡面有 a, 那麼 a 也是匹配物件)

/s 表示將字串視為單行來匹配

$match = "/^[\x-\xa-za-z0-9]+$/u";

if(!preg_match($match,$title))else

$match = "/[\x-\xa-za-z0-9]/u";

if(!preg_match($match,$title))else

參考文章:

1-5 ↩

字串處理 中英文擷取

判斷乙個字元是ascill字元還是其它字元 如漢,日,韓文本元 param char c,需要判斷的字元 return boolean,返回true,ascill字元 public static boolean isletter char c 得到乙個字串的長度,顯示的長度,乙個漢字或日韓文長度為2...

C 字串中英文對齊

stringbuilder str new stringbuilder 樓盤名稱 總數 r n 綠地海外灘中心 new string 25 encoding.default.getbytes 綠 地海外灘中心 length 10 樓盤名稱 總數 r n 上海醫藥大廈 new string 25 en...

Python判斷字串是否含有數字

網上搜尋的 1.判斷乙個字串是否為中文或數字 通過unicode編碼來判斷 2.判斷乙個字串是否全部都為數字 通過isdigit來判斷 3.判斷乙個字串中是否包含數字 通過正則來匹配 原文如下 1 判斷乙個字串是不是中文,這裡的關鍵是在判斷的時候用字串的unicode碼 def is chinese...