关于正则表达式中^和$

^是正则表达式匹配字符串开始位置

$是正则表达式匹配字符串结束位置

很多人始终没搞清楚这是什么意思,这里用几个例子看下就一目了然了。

先搞清楚^匹配字符串开始位置(其实就是从字符串左边第一个字符开始匹配)

1 $str='http://blog.seetiny.com';
2 $pattern='/^blog/';  /*因为/为特殊字符*/
3 $str=preg_replace($pattern,'jimmy',$str);
4 echo $str;die;

上面的输出是:

http://blog.seetiny.com/

改造一下:

1 $str='http://blog.seetiny.com';
2 $pattern='/^http/';  /*因为/为特殊字符*/
3 $str=preg_replace($pattern,'jimmy',$str);
4 echo $str;die;

输出:

jimmy://blog.seetiny.com/

可以看到在已^开始的正则,只从左边第一个字符匹配,如果没匹配到,那整个匹配就是失败的

 

再看$匹配字符串的结束位置

1 $str='http://blog.seetiny.com';
2 $pattern='/com$/';  /*因为/为特殊字符*/
3 $str=preg_replace($pattern,'jimmy',$str);
4 echo $str;die;

输出:

http://blog.seetiny.jimmy

再看一个例子

1 $str='http://blog.seetiny.com';
2 $pattern='/iny$/';  /*因为/为特殊字符*/
3 $str=preg_replace($pattern,'jimmy',$str);
4 echo $str;die;

输出:

http://blog.seetiny.com

 

看看同时使用^和$是什么意思呢

1 $str='http://blog.seetiny.com';
2 $pattern='/^iny$/';  /*因为/为特殊字符*/
3 $str=preg_replace($pattern,'jimmy',$str);
4 echo $str;die;

输出:

http://blog.seetiny.com

改成

1 $str='http://blog.seetiny.com';
2 $pattern='/^http:\/\/blog.seetiny.com$/';  /*因为/为特殊字符*/
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")

 

转载于:https://www.cnblogs.com/JimmyBright/p/7205851.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值