1、入门简介 简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具。我们可以在几乎所有的基于UNIX系统的工具中找到正则表达式的身影,例如,vi编辑器,Perl或PHP脚本语言,以及awk或sed shell程序等。此外,象JavaScript这种客户端的脚本语言也提供了对正则表达式的支持。由此可见,正则表达式已经超出了某种语言或某个系统的局限,成为人们广为接受的概念和功能。 正则表达式可以让用户通过使用一系列的特殊字符构建...
[php] 正则表达式和样式匹配 $find="love";//定义要查找的变量 $result=preg_match("/$find/","I love you,xiaohei!");//第一个参数为要查找 //变量,第二个参数为查找字符串 //查找 前后带空格的"you",返回false @$result1=preg_match("\byou\b/","I love you,xiaohei!"); if ($result){ echo "匹配成功!"; }else { echo "匹配失败!"; } if ($result1){ echo "\byou\b/"."匹配成功!"; }else { echo "\byou\b/"."...
1. 笼统的使用元字符匹配中文,/.*?/s,可匹配一段中文,这在ANSI(gb2312)和utf-8环境的程序代码都可以实现。但提醒一下,\w不能匹配中文。曾在一本《精通正则表达式》(人民邮电出版社,沙金编著)书上看到可以使用\w匹配中文,这里纠正一下用php不行。可以使用”/./”,” /[^\d]/”,”/[^a]/”,匹配中文字符。 2. 如果要精准匹配中文,即匹配纯中文字符,或匹配中文字符加上全角标点,则需要根据...
PHP中的正则表达式函数 在PHP中有两套正则表达式函数库。一套是由PCRE(Perl Compatible Regular Expression)库提供的。PCRE库使用和Perl相同的语法规则实现了正则表达式的模式匹配,其使用以“preg_”为前缀命名的函数。另一套是由POSIX(Portable Operation System interface)扩展库提供的。POSIX扩展的正则表达式由POSIX 1003.2定义,一般使用以“ereg_”为前缀命名的函数。 两套函数库的功能相似,执行效率稍有不同。一般而言...
我们使用正则表达式,熟练掌握各种功能和结构只是手段,解决实际的问题才是真正的目的。要解决真正的问题,就必须有解决问题的思路,正则表达式的功能,说到底,可以归纳为三种逻辑,为了表述方便,我们分别称为与、或、非。 最近用CI在做个人工资管理系统的时候,需要验证用户是否登录和使用特定的功能,用到了正则表达式-非。需求如下: 路径/user, /user/login, /user/register不需要进行拦截,其实诸如/profile, /company, /wo...
直接上代码吧 1 2 $string="你好啊,hello world"; 3 preg_match(~[\x{4e00}-\x{9fa5}]+~u, $string, $array); 4 5 6 print_r ( $array ); 打印结果: 1 Array 2 ( 3 [0] => 你好啊 4 ) 注意 :编码是UTF-8的哦 GBK的不是这样写的. 作者:yangqijun http://www.bkjia.com/PHPjc/478128.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/478128.htmlTechArticle直接上代码吧 1?php 2$string=你好啊,hello world; 3pre...
Perl风格的正则表达式允许把单个字符选项(标志)放在正则表达式模式后面来修改匹配的解释或行为。例如,要进行不区分大小写的匹配,可以简单地使用i标志: preg_match(/cat/i, Stop, Catherine!); // returns true返回true 表4-12显示了在Perl兼容正则表达式中支持的来自Perl的修饰符: 表4-12:Perl标志修饰符意 义/regexp/i不区分大小写的匹配/regexp/s使句点(.)匹配任何字符,包括换行符(\n)/regexp/x从模式中删除空白符和...
今天在采集莫网址的图片的时候,由于自己最后都会讲图片分辨率改为320*480,而原先的图片中存在有关于像素的信息。如:清晰小屋(320*480)壁纸那么最后我要留下的是“清晰小屋壁纸”,该怎么办呢?首先我们应该立马想到,先查找字符串,在去掉此字符串。嗯,首先我也是这么想的,定义一个数组,其中存了几个字符串,如(320*480)、(480*640)等,不过后来发现,其中还有其他类型的如(320*234)之流的,那么我全列出来也不是不可能的,只...
$str = 中华人民共和国123456789abcdefg; echo preg_match("/^[u4e00-u9fa5_a-zA-Z0-9]{3,15}$",$strName);运行一下上面这段代码,看会有什么提示信息? Warning: preg_match(): Compilation failed: PCRE does not support L, l, N, P, p, U, u, or X at offset 3 in F:http://www.hzhuti.com/nokia/5800/ on line 2 原来,PHP正则表达式中不支持下列 Perl 转义序列:L, l, N, P, p, U, u, or X 在 UTF-8 模式下,允许用“x{...}”...
//取得页面所有的图片地址 function getimages($str) {$match_str = "/((http://)+([^ rn()^$!`"|[]{}preg_match_all ($match_str,$str,$out,PREG_PATTERN_ORDER);return $out; } ?> /"s]*)/i ,我使用kindeditor保存文章,但是需要取出第N个图片的地址作为文章的标志图片,文章代码(内容的html)保存到数据库一个字段,然后图片地址保存到另外一个字段.我就是使用上面的正则解决的. 我说明下,上面的地址是直接获取img标签内src属性的值...
一篇关于正则表达式特殊字符含义的文章,希望对大家有所帮助。 字符/ 意义:对于字符,通常表示按字面意义,指出接着的字符为特殊字符,不作解释。 例如:/b/匹配字符’b’,通过在b 前面加一个反斜杠,也就是/b/,则该字符变成特殊字符,表示 匹配一个单词的分界线。 或者: 对于几个字符,通常说明是特殊的,指出紧接着的字符不是特殊的,而应该按字面解释。 例如:*是一个特殊字符,匹配任意个字符(包括0个字符);例如...
上篇 http://www.BkJia.com/kf/201202/118458.html//正则表达式的技术知识 // []定义字符集和example [a-z] [A-Z] [0-9] [\f\r\n\t] //定位符^[A-Z][0-9]$开头结尾 //量词 * + ? {n} {m,n} {n.}指的都是重复次数 //选择| //可打印字符:ASCII中33-127表示的字符,就是我们看得见的符号 空格,删除,回车,取消等等就典型的是不可打印字符 //POSOX正则表达式 //常用函数 echo ""; $b4 = "abc"; $pattern = "[[:alpha:]]"; ...
1. 引子目前,正则表达式已经在很多软件中得到广泛的应用,包括*nix(Linux, Unix等),HP等操作系统,PHP,C#,Java等开发环境,以及很多的应用软件中,都可以看到正则表达式的影子。 正则表达式的使用,可以通过简单的办法来实现强大的功能。为了简单有效而又不失强大,造成了正则表达式代码的难度较大,学习起来也不是很容易,所以需要付出一些努力才行,入门之后参照一定的参考,使用起来还是比较简单有效的。例子: ^.+@...
1、入门简介 简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具。我们可以在几乎所有的基于UNIX系统的工具中找到正则表达式的身影,例如,vi编辑器,Perl或PHP脚本语言,以及awk或sed shell程序等。此外,象JavaScript这种客户端的脚本语言也提供了对正则表达式的支持。由此可见,正则表达式已经超出了某种语言或某个系统的局限,成为人们广为接受的概念和功能。正则表达式可以让用户通过使用一系列的特殊字符构建匹...
在结束分隔符之后可以跟随多种模式修饰符 (用php 的术语来说,叫做 pattern modifier), 在某些情况下,修饰符也可以出现在正则表达式内部,修饰模式的某些性质。我们已经在一些例子中看到过表达不区分大小写的模式修饰符 i 。下面简要介绍模式修饰符:修饰符表达式中的写法说明i(?i) 忽略大小写m(?m) 增强行锚点模式s(?s) 点号通配模式x(?x) 宽松排列和注释模式u 以UTF-8读取正则表达式和目标字符串X(?X) 启用PCRE “额外功能(...