亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

正則表達式學習筆記2

標簽:
Java

1.前言

之前的一篇文章主要是对

(1) 手机号检验:

正则表达式:/^1[3456789]\d{9}$/
详解:
运行代码:
$regex = '/^1[3456789]\d{9}$/';
$mobileList = array(   '15168901234',   '123456',   '12345678901',   '25168901234',
);foreach ($mobileList as $mobile) {   if (preg_match($regex, $mobile)) {       echo $mobile . "| 是正确的手机号\n";
   } else {       echo $mobile . "| 不是手机号\n";
   }
}
运行结果:
15168901234| 是正确的手机号
123456| 不是手机号12345678901| 不是手机号
25168901234| 不是手机号

(2)提取cookies

正则表达式:'/(?<=user=)"?[|\d:=a-zA-Z]{1,}/'
详解:
运行代码
$header = 'HTTP/1.1 200 OK
Date: Wed, 23 May 2018 01:42:48 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 57
Connection: keep-alive
Set-Cookie: user="2|1:0|10:157XXXXX368|4:user|16:MDXXXXXg0MzY5|f80558eXXXXXXXXXX94b3a";';$regex = '/(?<=user=)\"?[\|\d\:\=a-zA-Z]{1,}/';

preg_match($regex, $header, $matches);

var_dump(trim($matches[0], "\""));
运行结果

2|1:0|10:157XXXXX368|4:user|16:MDXXXXXg0MzY5|f80558eXXXXXXXXXX94b3a

(3)获取url信息

正则表达式:'/(\w+)://([/:]+)(:\d)?([^ ])/$'
详解:
运行代码
$regex = '/^(\w+):\/\/([^\/:]+)(:\d*)?([^# ]*)/';$url = "https://juejin.im/user/59bf3ba9518825231f64bd05/posts";
preg_match($regex, $url, $matches);
var_dump($matches);
运行结果
array(5) {
  [0]=>  string(53) "https://juejin.im/user/59bf3ba9518825231f64bd05/posts"
  [1]=>  string(5) "https"
  [2]=>  string(9) "juejin.im"
  [3]=>  string(0) ""
  [4]=>  string(36) "/user/59bf3ba9518825231f64bd05/posts"}

3.个人感受

在开发过程中遇到需要正则表达式的时候,一般会选择上网查找类似的,然后就开始逐步进行调试直到符合预期要求,虽然最终也可以解决问题,但是往往会耗费大量时间。于是下定决心要搞懂正则表达式,所以就有两篇记录学习过程的笔记。
经过学习虽不能说以后直接可以写出要用的表达式,但是可以大幅降低调试的时间。



作者:caohaoyu
链接:https://www.jianshu.com/p/edae9ded71b6


點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消