PHP中字串與Regex

來源:互聯網
上載者:User

這篇文章介紹的內容是關於PHP中字串與Regex,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下


1、字串的串連符
“.”可以直接連接兩個字串,也可以串連兩個字串變數,也可以連接字串和字串變數

<?php$name="張先生";$a="歡飲您的到來";echo $name.$a;echo "\n";echo "李先生".$a;echo "\n";echo $name."歡迎你";?>

2、字串的單引號與雙引號
雙引號會輸出變數的值,單引號內直接顯示變數名稱

<?php$message="PHP程式";echo "這是一個關於雙引號和$message";echo "\n";echo '這是一個關於單引號和$message';?>

3、字串的基本操作
①計算字串的長度

<?php$str="這個字串的長度";$length=strlen($str);if($length>20)    echo "字串的長度不能大於20";else    echo "此字串的長度為$length";?>


②字串單詞統計
str_word_count()函數只能統計英文單詞,不會對中文字元起作用

<?php$some="i am a girl,and you?";$some1="我是一個女孩,你呢?";echo str_word_count($some);echo "\n";echo str_word_count($some1);?>


③字串子串的截取
substr(目標字串,起始位置,截取長度)
如果都是正數,起始位置的整數必須小於截取長度的整數,否則函數值返回為假
如果截取長度為負數,則意味著,是從起始位置開始往後除去從目標字串結尾算起的長度數的字元以外的所有字元

<?php$some="create a substring of this string.";echo substr($some,0,11);echo "\n";echo substr($some,1,10);echo "\n";echo substr($some,1,-3);?>

④字串子串替換
substr_replace(目標字串,替換字串,起始位置,替換長度)

<?php$some="i am a good girl";echo substr_replace($some,"beautiful",7,4);?>


⑤字串尋找
strstr(目標字串,需尋找字串)
如果函數找到需要尋找的字元或字串,則返回從第一個尋找到字串的位置往後所有的字串內容

<?php$some="i have a Dream that i want to be a doctor.";$some1="我有一個想成為醫生的夢想。";echo strstr($some,"doctor");echo "\n";echo strstr($some,"that");echo "\n";echo strstr($some1,"成為");?>

4、Regex
概念:Regex是把文本或字串按照一定的規範或模型表示的方法(常用於文本的匹配操作)

①方括弧([ ])
方括弧內的一串字元是將要用來進行匹配的字元。例如Regex在方括弧內的[name]是指在目標字串中尋找字母n,a,m,e.

②連字號(-) ([開始-結束])
在很多情況下,不能逐個列出所有字元
[a-z]表示匹配英文小寫從a到z的任一字元
[A-Za-z]表示匹配英文大小寫從大寫A到小寫z的任一字元
[0-9]表示匹配從0到9的任意十進位數

③點號字元(.)
點號字元在Regex中是一個萬用字元,它代表所有的字元與數字,例如,“.er”表示所有以er結尾的三個字元的字串

④限定符(+?{n,m})*
加號“+”表示其前面的字元至少有一個。如“9+”表示目標字串至少包含一個9
星號“”表示其前面的字元不止一個或零。如“y”表示目標字串包含0或不止一個y
問號“?”表示其前面的字元為一個或零。如“y?”表示目標字串包含零個或一個y
大括弧“{n,m}”表示其前面的字元有n或m個。如“a{3,5}”表示目標字串包含3個或5個a。”a{3}”表示目標字串包含3個a。”a{3,}”表示目標字串至少包含3個a
點號和星號可以一起使用,如“.*”表示匹配任一字元

⑤行定位器(^和$)
行定位器用來確定匹配字串所要出現的位置
如果是在目標字串開頭出現,則使用符號“^”;如果是在目標字串結尾出現,則使用符號“

是指8895隻能出現在目標字串結尾
同時使用”^

”表示目標字串要只包含從a到z的單個字元


⑥排除字元([^])
如[^0-9]表示目標字串包含從0-9“以外”的任意其他字元

⑦選擇字元(|)
選擇字元表示或。如com|cn|net表示目標字串包含com或cn或net

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.