2013年正则表达式学习笔记

/**** 正则表达式 用于描述字符排列模式一种语法规则: 作用: 字符串的模式分割、匹配、查找、替换 正规字符,abcd123 特殊字符:() ? ^ $ 原子:(普通字符,如:英文字符) 单个字符,数字,如a-z,A-Z,0-9 (abc) 原子表:[abc] 只匹配其中的一个 [^abc] 匹配除原子表中的字母任何一个 [0-9] [a-zA-Z0-9] 转义字符 \d 匹配一个数字[0-9] \D 匹配除数字以外的任何一个字符[^0-9] \w 匹配一个英文字母,数字或下划线[0-9a-zA-Z] \W 匹配除一个英文字母,数字或下划线外任何一个字符[^0-9a-zA-Z] \s 匹配一个空白字符[\f\n\r\t\v] \S 匹配除空白以外的任何一个字符 \f \n \r \t \v \oNN \XNN \cC 元字符:(有特殊功能用途字符)* + ? . | ^ $ * 0,1次或多次匹配其前的原子 + 1次或多次匹配其前的原子 ? 0次或1次匹配其前的原子 . 匹配除换行符外任何一个字符,相当于[^\n] [^\n\r] | 匹配两个或多个选择 ^ 匹配字符串串首的原子 $ 匹配字符串串尾的原子 \b 匹配单词的边界 \B 匹配单词边界以外的 {m} 表示其前原子恰好出现m次 {m,n}表示其前的原子出现至少出现m次,最多出现n次 {m,}表示其前的原子出现不少于m次 (abc)整体表示一个原子 模式匹配的顺序 左到右 模式单元() 1 重复匹配 ? * + {} 2 边界限制 ^ $ \b \B 3 模式选择 | 4 模式修正字符:(i,U,s,x) 标记在整个模式之外 /abc/iUsx i 不区分大小写匹配 m 将字符串视为多行 s 将字符串视为单行,换行符作为普通字符 x 将模式中的空白忽略 e A D U S 两种函数库, PCRE preg_ POSIX ereg_ ****/ ?> <!--<form> 请输入你要匹配的字符:<input type="text" name="str" size="50" /> <input type="submit" value="提交" /> </form> <hr>--> <?php /***** $str=$_GET["str"]; // $str="aaaaaaaaaaaa // bbbbbbbbbbbbb"; // $mode="/^\d{4}\W\d{2}\W\d{2}$/"; $mode="/^abc/i"; if(preg_match($mode,$str,$content)) { echo "你输入的字符串" .$str." 和模式".$mode." 匹配成功,匹配出来的字符是:".$content[0]; }else { echo "你输入的字符串" .$str." 和模式".$mode." 匹配不成功"; } ****/ //$str="thi6s is8 a demo9"; //echo preg_replace("/\d/","(MM)",$str); //$str="current data and time is ".date("Y-m-d H:i a")."we are learning php"; // echo preg_replace("/(\d{4}\d{2}\d{2} \d{2}\d{2} [ap]m)/i","<font color='#CC0033'>\\1</font>",$str); //$url="你好http://www.baidu.com 搜索引擎,hello哦http://www.google.com我很喜欢http://www.boobooke.com"; //echo $url; //function display(){ // // echo preg_replace("/.*(http:\/\/www\.\w+\.com).*/is","\\1",$url,1); // } /**** $str="Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。Linux是一个领先的操作系统,世界上运算最快的10台超级计算机运行的都是Linux操作系统。严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。Linux得名于天才程序员林纳斯·托瓦兹。"; $arr=preg_split("/[。,、\s]/",$str); print_r($arr); echo "<br>"; foreach($arr as $value) { echo $value."<BR>"; } $content="当前的日期和时间是:".date("Y-m-d H:i a")."一起happy"; if(preg_match("/(\d{4}-\d{2}-\d{2})(\d{2}\d{2})([ap]m)/",$content,$m)) { echo "匹配时间日期" .$m[0]."<Br>"; echo "当前日期" .$m[1]."<Br>"; echo "当前时间" .$m[2]."<Br>"; echo "当前上下午" .$m[3]."<Br>"; }else { echo "匹配不成功<BR>"; echo $content."<Br>"; } $arr=array("aa bb","ccc","abc","yousdfd123","df3df"); print_r(preg_grep("/\d/",$arr)); ****/ /*** $urlstr="你好在:http://www.google.com里面可以搜到http://www.Baidu.com,在百度里面能搜到http://www.bing.org还可以搜到http://www.soso.com"; echo url2html($urlstr); function url2html($urlstr) { preg_match_all("/http:\/\/(www\.)?.+(com|net|org)/iU",$urlstr,$urls); print_r($urls); foreach($urls[0] as $url) { $urlstr=str_replace($url,"<a href=$url>$url</a>",$urlstr); } return $urlstr; } ***/ $str=" [b]meet_web[/b]<br> [i]meet_web[/i]<br> [u]meet_web[/u]<br> [size=10]meet_web[/size]<Br> [color=red]meet_web[/color]<Br> [align=left]meet_web[/align]<Br> [align=center]meet_web[/align]<Br> [align=right]meet_web[/align]<Br> [url=http://www.baidu.com]http://www.baidu.com[/url]<Br> [url]www.baidu.com[/url]<Br> [img]http://www.baidu.com/img/shouye_b5486898c692066bd2cbaeda86d74448.gif[/img]<Br> [email=gaodong@outlook.com]gaodong@outlook.com[/email]<br> "; echo $str; echo "<BR>"; echo "<BR>"; echo "<BR>"; echo conUbb($str); echo "<BR>"; echo "<BR>"; function conUbb($str) { $patter=array( "/\[b\](.+?)\[\/b\]/is","/\[i\](.+?)\[\/i\]/is","/\[u\](.+?)\[\/u\]/is","/\[size=(\d{1,2})\](.+?)\[\/size\]/is","/\[color=([a-z]{3,}|[0-9a-zA-Z]{6})\](.+?)\[\/color\]/is","/\[align=(left|right|center)\](.+?)\[\/align\]/is","/\[img\](.+?)\[\/img\]/is","/\[url=(.+?)\](.+?)\[\/url\]/is","/\[url\]www\.(.+?)\[\/url\]/is","/\[email=([.a-z]+?)@(.+?)\](.+?)\[\/email\]/" ); $replace=array( "<b>\\1</b>","<i>\\1</i>","<u>\\1</u>","<font size='\\1'>\\2</font>","<font color=\\1>\\2</font>","<div align='\\1'>\\2</div>","<img src='\\1'/>","<a href=\\1>\\2</a>","<a href='http://www.\\1'>www.\\1</a>","<a href='mailto:\\1@\\2'>\\1@\\2</a>" ); $str1=preg_replace($patter,$replace,$str); return $str1; }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


jquery.validate使用攻略(表单校验) 目录 jquery.validate使用攻略1 第一章&#160;jquery.validate使用攻略1 第二章&#160;jQuery.validate.js API7 Custom selectors7 Utilities8 Validato
/\s+/g和/\s/g的区别 正则表达式/\s+/g和/\s/g,目的均是找出目标字符串中的所有空白字符,但两者到底有什么区别呢? 我们先来看下面一个例子: let name = &#39;ye wen jun&#39;;let ans = name.replace(/\s/g, &#39;&#3
自整理几个jquery.Validate验证正则: 1. 只能输入数字和字母 /^[0-9a-zA-Z]*$/g jQuery.validator.addMethod(&quot;letters&quot;, function (value, element) { return this.optio
this.optional(element)的用法 this.optional(element)是jquery.validator.js表单验证框架中的一个函数,用于表单控件的值不为空时才触发验证。 简单来说,就是当表单控件值为空的时候不会进行表单校验,此函数会返回true,表示校验通过,当表单控件
jQuery.validate 表单动态验证 实际上jQuery.validate提供了动态校验的方法。而动态拼JSON串的方式是不支持动态校验的。牺牲jQuery.validate的性能优化可以实现(jQuery.validate的性能优化见图1.2 jQuery.validate源码 )。 也可
自定义验证之这能输入数字(包括小数 负数 ) &lt;script type=&quot;text/javascript&quot;&gt; function onlyNumber(obj){ //得到第一个字符是否为负号 var t = obj.value.charAt(0); //先把非数字的都
// 引入了外部的验证规则 import { validateAccountNumber } from &quot;@/utils/validate&quot;; validator.js /*是否合法IP地址*/ export function validateIP(rule, value,cal
VUE开发--表单验证(六十三) 一、常用验证方式 vue 中表单字段验证的写法和方式有多种,常用的验证方式有3种: data 中验证 表单内容: &lt;!-- 表单 --&gt; &lt;el-form ref=&quot;rulesForm&quot; :rules=&quot;formRul
正则表达式 座机的: 例子: 座机有效写法: 0316-8418331 (010)-67433539 (010)67433539 010-67433539 (0316)-8418331 (0316)8418331 正则表达式写法 0\d{2,3}-\d{7,8}|\(?0\d{2,3}[)-]?\d
var reg = /^0\.[1-9]{0,2}$/;var linka = 0.1;console.log (reg.test (linka)); 0到1两位小数正则 ^(0\.(0[1-9]|[1-9]{1,2}|[1-9]0)$)|^1$ 不含0、0.0、0.00 // 验证是否是[1-10
input最大长度限制问题 &lt;input type=&quot;text&quot; maxlength=&quot;5&quot; /&gt; //可以 &lt;input type=&quot;number&quot; maxlength=&quot;5&quot; /&gt; //没有效
js输入验证是否为空、是否为null、是否都是空格 目录 1.截头去尾 trim 2.截头去尾 会去掉开始和结束的空格,类似于trim 3.会去掉所有的空格,包括开始,结束,中间 1.截头去尾 trim str=str.trim(); // 强烈推荐 最常用、最实用 or $.trim(str);
正则表达式语法大全 字符串.match(正则):返回符合的字符串,若不满足返回null 字符串.search(正则):返回搜索到的位置,若非一个字符,则返回第一个字母的下标,若不匹配则返回-1 字符串.replace(正则,新的字符串):找到符合正则的内容并替换 正则.test(字符串):在字符串中
正整数正则表达式正数的正则表达式(包括0,小数保留两位): ^((0{1}.\d{1,2})|([1-9]\d.{1}\d{1,2})|([1-9]+\d)|0)$正数的正则表达式(不包括0,小数保留两位): ^((0{1}.\d{1,2})|([1-9]\d.{1}\d{1,2})|([1-9]+
JS 正则验证 test() /*用途:检查输入手机号码是否正确输入:s:字符串返回:如果通过验证返回true,否则返回false /function checkMobile(s){var regu =/[1][3][0-9]{9}$/;var re = new RegExp(regu);if (r
请输入保留两位小数的销售价的正则: /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/ 1.只能输入英文 &lt;input type=&quot;text&quot; onkeyup=&quot;value
判断价格的正则表达式 价格的正则表达式 /(^[1-9]\d*(\.\d{1,2})?$)|(^0(\.\d{1,2})?$)/; 1 解析:价格符合两种格式 ^ [1-9]\d*(.\d{1,2})?$ : 1-9 开头,后跟是 0-9,可以跟小数点,但小数点后要带上 1-2 位小数,类似 2,2
文章浏览阅读106次。这篇文章主要介绍了最实用的正则表达式整理,比如校验邮箱的正则,号码相关,数字相关等等,本文给大家列举的比较多,需要的朋友可以参考下。_/^(?:[1-9]d*)$/ 手机号
文章浏览阅读1.2k次。4、匹配中的==、an==、== an9、i9 == "9i"和99p==请注意下面这部分的作用,它在匹配中间内容的时候排除了说明:当html字符串如下时,可以匹配到两处,表示匹配的字符串不包含and且不包含空白字符。说明:在上面的正则表达式中,_gvim正则表达式匹配不包含某个字符串
文章浏览阅读897次。【代码】正则表达式匹配a标签的href。_auto.js 正则匹配herf