python3之正则表达式

1、正则表达式基础正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不然str自带方法,但功能十分强大。正则表达式的大致匹配流程:依次拿出表达式和文本中的字符比较,如果每一个字符都能匹配,则匹配成功;一旦有匹配不成功的字符则匹配失败。python支持的正则表达式元字符和语法:模式描述^匹配字符串的开头$匹配字符串的末尾。.匹配任意字符,除了换行符,当re.DOTALL标记被指定时,则可以匹配包括换行符的任意字符。[...]用来表示一组字符,单独列出:[amk]匹配'a','m'或'k'[^...]不在[]中的字符:[^abc]匹配除了a,b,c之外的字符。re*匹配0个或多个的表达式。re+匹配1个或多个的表达式。re?匹配0个或1个由前面的正则表达式定义的片段,非贪婪方式re{n} re{n,}精确匹配n个前面表达式。re{n,m}匹配n到m次由前面的正则表达式定义的片段,贪婪方式a|b匹配a或b(re)G匹配括号内的表达式,也表示一个组(?imx)正则表达式包含三种可选标志:i,m,或x。只影响括号中的区域。(?-imx)正则表达式...

爬虫入门【4】正则表达式用法简介

首先推荐使用r'string'来定义字符,免去转义字符的影响。#'.',点号,在默认模式中,匹配任何一个字符,除了新的行newline。如果DOTALL标记指定了,那么还可以匹配newline。#'^',匹配字符串的开始#'$',匹配字符串的结束。比如foo匹配foo或者foobar,但是foo$只能匹配到foo。#'*',匹配0个或者多个字符,比如ab*,可以匹配a,ab,abbbb等#'+',匹配1个或者多个字符,比如ab+,可以匹配ab,或者abbbb#'?',匹配0或者1个字符,比如ab?只能匹配a或者ab。#贪婪模式,*?+,都是贪婪模式的,会尽可能多的匹配字符,在后面加上一个?则会变为非贪婪模式,尽可能匹配少的字符。#我们一般用非贪婪模式。#{m},指定匹配的数量,比如a{6}表示将匹配6个a字符,而不是5个,准确匹配。#{m,n},匹配在m~n个字符之间,包含m和n,比如a{3,5}将匹配3-5个a字符,一般会取上限来匹配。#如果不指定m或者n,则表示没有上限,下限不能低于0个#{m,n}?,非贪婪模式的匹配,尽可能匹配少,取下限m来匹配。#[],用于创造一个字符的集合,...

PHP 获取服务器详细信息的原生方法

获取系统类型及版本号:    php_uname()    (例:WindowsNTCOMPUTER5.1build2600)只获取系统类型:          php_uname('s')      (或:PHP_OS,例:WindowsNT)只获取系统版本号:        php_uname('r')获取PHP运行方式:      php_sapi_name()      (PHPrunmode:apache2handler)获取前进程用户名:      &...

php使用strlen()判断中文汉字字符串长度

用strlen()函数可以简单模糊的判断字符长度了,像如果你是汉字与拼音或编码不一样使用用strlen()函数计算出来的都不一样,下面我来给大家介绍一下用strlen()函数的使用方法吧。们经常会用到了解字符串长度的时候,在PHP里,可以使用strlen()函数来实现。使用方法如下:PHPstrlen()函数定义和用法strlen()函数返回字符串的长度。语法strlen(string)参数:string描述:必需。规定要检查的字符串。实例<?phpechostrlen("Helloworld!");?>输出:12那么对于中文怎么处理PHP自带的函数如strlen()、mb_strlen()都是通过计算字符串所占字节数来统计字符串长度的,一个英文字符占1字节。例:enStr=‘Hello,China!’;echostrlen($enStr);//输出:12而中文则不然,做中文网站一般会选择两种编码:gbk/gb2312或是utf-8。utf-8能兼容更多的字符,所以受到很多站长的喜爱。gbk与utf-8对中文的编码不同,导致中文在gbk与utf-8编码下所占字节也有差异。g...

php采集https的关键代码

在进行curl采集的时,代码中需要加上以下配置项curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false);...

php抓取https的内容

<?phpfunctionfile_get_contents_by_curl($url){$ch=curl_init();curl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch,CURLOPT_HEADER,0);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);//禁止调用时就输出获取到的数据curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false);$result=curl_exec($ch);curl_close($ch);return$result;}?> ...
开发笔记 开发笔记·2020-03-19

Thinkphp5模型添加数据方法

thinPHP5模型添加数据的方法有两个一个是create,一个是save方法,下面看实际案例代码。<?phpnamespaceappindexcontroller;usethinkController;useappindexmodelUser;publicfunctionindex(){//create方法添加数据$res=User::create(['name'=>'lei','email'=>'leixiaotian@163.com','password'=>'123'],true);//true排除掉表中不存在的字段dump($res->id);dump($res);//save方法添加$userModel=newUser;$userModel->name='lei';$userModel->email='leixiaotian@163.com';$userModel->save();dump($userModel->id);//sava数组方法$res=$userModel->save(['name'=>'le...

php抓取文章内容分析

preg_match_all — 执行一个全局正则表达式匹配intpreg_match_all(stringpattern,stringsubject,arraymatches[,intflags])在subject中搜索所有与pattern给出的正则表达式匹配的内容并将结果以flags指定的顺序放到matches中。搜索到第一个匹配项之后,接下来的搜索从上一个匹配项末尾开始。flags可以是下列标记的组合(注意把PREG_PATTERN_ORDER和PREG_SET_ORDER合起来用没有意义):PREG_PATTERN_ORDER对结果排序使$matches[0]为全部模式匹配的数组,$matches[1]为第一个括号中的子模式所匹配的字符串组成的数组,以此类推。<?phppreg_match_all("|<[^>]+>(.*)</[^>]+>|U","<b>example:</b><divalign=left>thisisatest</div>",$out,P...

python正则表达式匹配 模式匹配

.  Python正则式的基本用法1.1基本规则1.2重复1.2.1最小匹配与精确匹配1.3前向界定与后向界定1.4组的基本知识2.  re模块的基本函数2.1使用compile加速2.2match和search2.3finditer2.4字符串的修改与替换3.  更深入的了解re的组与对象3.1编译后的Pattern对象3.2组与Match对象3.2.1组的名字与序号3.2.2Match对象的方法4.  更多的资料 初学Python,对Python的文字处理能力有很深的印象,除了str对象自带的一些方法外,就是正则表达式这个强大的模块了。但是对于初学者来说,要用好这个功能还是有点难度,我花了好长时间才摸出了点门道。由于我记性不好,很容易就忘事,所以还是写下来比较好一些,同时也可以加深印象,整理思路。由于我是初学,所以肯定会有些错误,还望高手不吝赐教,指出我的错误。1Python正则式的基本用法Python的正则表达式的模块是‘re’,它的基本语法规则就是指定一个字符序列,...

PHP 数字补零 固定位数补0

在处理订单编号的时候,需要固定位数的数字,比如需要固定四位数格式:1->000156->0056288->02881992->1992可以使用php内置函数str_pad()函数把字符串填充为新的长度。str_pad(string,length,pad_string,pad_type)//参数描述string//必需。规定要填充的字符串。length//必需。规定新的字符串长度。如果该值小于字符串的原始长度,则不进行任何操作。pad_string//可选。规定供填充使用的字符串。默认是空白。pad_type//可选。规定填充字符串的哪边。//可能的值:STR_PAD_BOTH-//填充字符串的两侧。如果不是偶数,则右侧获得额外的填充。STR_PAD_LEFT-//填充字符串的左侧。STR_PAD_RIGHT-//填充字符串的右侧。默认。例子:$num=128;$num=str_pad($num,4,"0",STR_PAD_LEFT);echo$num;输出0128 ...
开发笔记 开发笔记·2020-03-17

PHP正则表达式-忽略大小写

<?php/***CreatedbyPhpStorm.*User:Ollydebug*Date:2015/11/15*Time:15:20*//**U-懒惰匹配*i-忽略英文字母大小写*x-忽略空白*s-让元字符'.'匹配包括换行符内所有字符*/$pattern='/GoOgle.+123/Ui';$subject='Ilovegoogle__123123123123123123';$matches=array();preg_match($pattern,$subject,$matches);show($matches);functionshow($var){if(empty($var)){echo'null';}elseif(is_array($var)||is_object($var)){//array,objectecho'<pre>';print_r($var);echo'</pre>';}else{//string,int,floatecho$var;}}?> ...

php获取从百度搜索进入网站的关键词

<?phpfunctionsearch_word_from(){$referer=isset($_SERVER['HTTP_REFERER'])?$_SERVER['HTTP_REFERER']:'';if(strstr($referer,'baidu.com')){//百度preg_match("|baidu.+wo?r?d=([^\&]*)|is",$referer,$tmp);$keyword=urldecode($tmp[1]);$from='baidu';}elseif(strstr($referer,'google.com')orstrstr($referer,'google.cn')){//谷歌preg_match("|google.+q=([^\&]*)|is",$referer,$tmp);$keyword=urldecode($tmp[1]);$from='google';}elseif(strstr($referer,'so.com')){//360搜索preg_match("|so.+q=([^\&]*)|is",$referer,...

配置php支持fileinfo模块

打开php-ini配置文件查找到fileinfo;extension=php_fileinfo.dll去掉前面分号,保存后重启服务器。...

php发送post请求的方法

<?php/***发送post请求*@paramstring$url请求地址*@paramarray$post_datapost键值对数据*@returnstring*/functionsend_post($url,$post_data){$postdata=http_build_query($post_data);$options=array('http'=>array('method'=>'POST','header'=>'Content-type:application/x-www-form-urlencoded','content'=>$postdata,'timeout'=>15*60//超时时间(单位:s)));$context=stream_context_create($options);$result=file_get_contents($url,false,$context);return$result;}//测试/*$post_data=array('username'=>'makalo','password'=>'...

php curl 打开https网站

$url='https://www.51dev.com';$ch=curl_init();curl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch,CURLOPT_HEADER,false);curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0(WindowsNT6.1)AppleWebKit/537.11(KHTML,likeGecko)Chrome/23.0.1271.1Safari/537.11');$res=curl_exec($ch);$rescode=curl_getinfo($ch,CURLINFO_HTTP_CODE);curl_close($ch);echo$res; ...
首页上一页...309310311312313下一页尾页