關於正規表示式中 和

2022-05-11 21:03:48 字數 2979 閱讀 5184

^是正規表示式匹配字串開始位置

$是正規表示式匹配字串結束位置

很多人始終沒搞清楚這是什麼意思,這裡用幾個例子看下就一目了然了。

先搞清楚^匹配字串開始位置(其實就是從字串左邊第乙個字元開始匹配)

1

$str='';

2$pattern='/^blog/'; /*

因為/為特殊字元*/3

$str=preg_replace($pattern,'jimmy',$str);4

echo

$str;die;

上面的輸出是:

/改造一下:

因為/為特殊字元*/3

$str=preg_replace($pattern,'jimmy',$str);4

echo

$str;die;

輸出:jimmy:

可以看到在已^開始的正則,只從左邊第乙個字元匹配,如果沒匹配到,那整個匹配就是失敗的

再看$匹配字串的結束位置

1

$str='';

2$pattern='/com$/'; /*

因為/為特殊字元*/3

$str=preg_replace($pattern,'jimmy',$str);4

echo

$str;die;

輸出:再看乙個例子

1

$str='';

2$pattern='/iny$/'; /*

因為/為特殊字元*/3

$str=preg_replace($pattern,'jimmy',$str);4

echo

$str;die;

輸出:看看同時使用^和$是什麼意思呢

1

$str='';

2$pattern='/^iny$/'; /*

因為/為特殊字元*/3

$str=preg_replace($pattern,'jimmy',$str);4

echo

$str;die;

輸出:改成

1

因為/為特殊字元*/3

$str=preg_replace($pattern,'jimmy',$str);4

echo

$str;die;

輸出:jimmy

結合例子看,用法就一目了然了,^和$用處非常多,常見的就是使用sublime編輯給每行文字開始和技術加引號,括號逗號什麼的,非常方便

例如有一堆字串要寫sql插入到資料庫

1 85353001071

2 85353001071

3 85959001280

4 81106513888

5 81106513888

6 81106513888

7 81106513888

8 81106514054

9 81106514054

10 811064056

11 81106514056

12 81106514132

13 81106514132

14 81106514136

15 81106514136

16 81106514137

17 811065137

18 81106514138

19 81106514138

20 81106514139

21 8110651413913123

22 83030000076

23 83030000076

24 83030000096

25 83030000096

26 83030000316123

27 83030000483

28 830300004854

29 83030000489

30 83030000533

31 83030001323

32 83030000610

通過sublime非常簡單的就能處理成下面的樣子

1 ("85353001071",

2 "85353001071",

3 "85959001280",

4 "81106513888",

5 "81106513888",

6 "81106513888",

7 "81106513888",

8 "81106514054",

9 "81106514054",

10 "811064056",

11 "81106514056",

12 "81106514132",

13 "81106514132",

14 "81106514136",

15 "81106514136",

16 "81106514137",

17 "811065137",

18 "81106514138",

19 "81106514138",

20 "81106514139",

21 "8110651413913123",

22 "83030000076",

23 "83030000076",

24 "83030000096",

25 "83030000096",

26 "83030000316123",

27 "83030000483",

28 "830300004854",

29 "83030000489",

30 "83030000533",

31 "83030001323",

32 "83030000610")

正規表示式中 和 的區別

圓括號 是組,主要應用在限制多選結構的範圍 分組 捕獲文字 環視 特殊模式處理 示例 1 abc bcd cde 表示這一段是abc bcd cde三者之一均可,順序也必須一致 2 abc 表示這一組要麼一起出現,要麼不出現,出現則按此組內的順序出現 3 abc 表示找到這樣abc這樣一組,但不記錄...

正規表示式中?和 的區別

表示匹配前面的字元0次或1次 表示匹配前面的字元0次或任意多次 001 在r語言中 sub a?b c aaaabxa xbxa xacb 表示匹配前面字元0次或1次 a?b表示匹配b或者ab 1 aaaxa xxa xac sub a b c aaaabxa xbxa xacb 表示匹配前面字元0...

關於正規表示式

前言 regular expressions 正規表示式,以下用re稱呼 對小弟來說一直都是神密的地帶,看到一些網路上的大大,簡單用re就決解了某些文字的問題,小弟便興起了學一學re的想法,但小弟天生就比較懶一些,總希望看有沒有些快速學習的方式,於是小弟又請出google大神,借由祂的神力,小弟在網...