百度
360搜索
搜狗搜索

php正则匹配,如何用PHP 正则匹配出含有HTML标签的字符串中的英文单词详细介绍

本文目录一览: PHP正则匹配中文字母数字正则表达式

  方法一
  代码如下 if(preg_match("/^d*$/" " ")) { echo "全数字 "; }
  if(preg_match("/^[a z]*$/i" "fdsFDfd")) { echo "全字母 "; }
  if(preg_match("/^[a zd]*$/i" "fd fd ")) { echo "有数字有字母 "; }
  中文汉字

  代码如下 $username=$_REQUEST[ username ]; if(!preg_match("/^[a z xa xff]{ }$/" $username)) { echo" r "; exit; }
   上面是比较散的 下面把几个总结到一起来
lishixinzhi/Article/program/PHP/201311/21332

PHP常用正则表达式汇总

1、\w就是匹配字母或数字或下划线或汉字,+则与*差不多,区别是+包括重复0次,而*就可以。=就ushi匹配=号两个斜杠则表示正则表达式的分界。
2、正则表达式的限定符有:ThinkPHP的自动验证机制是为了进行表单数据验证,验证可以支持function、callback、confirm、equal、unique和regex,这里要讲的是使用正则表达式进行验证。特殊字符许多元字符要求在试图匹配它们时特别对待。
3、^/?[a-zA-Z0-9=\:]*$!\是对php中单引号的转义。或者还有更简单的!^/?[a-z0-9=\:]*$!ii表示忽略大小写。模式分隔符就是为了区分表达式和像i这样的模式修饰符而设计的。

超常用的PHP正则表达式收集整理

以下就是对超常用的PHP正则表达式进行的收集整理,为了方便大家更快更好的掌握php正则表达式。
\:]*$!\是对php中单引号的转义。或者还有更简单的!^/?[a-z0-9=\:]*$!ii表示忽略大小写。模式分隔符就是为了区分表达式和像i这样的模式修饰符而设计的。
什么是正则表达式:简单的说,正则表达式是一种可以用于模式匹配和替换的强大工具。在几乎所有的基于UNIX/LINUX系统的软件工具中找到正则表达式的痕迹,例如:Perl或PHP脚本语言。
ThinkPHP的自动验证常用的正则一般我们见的比较多的是设置规则为require、email之类的,其实这些本身也是属于正则表达式验证方式,只是系统内置定义了一些常用的正则表达式而已。
关键地方是汉字的表示\xa0-\xff。下面是我写的例子程序,调试通过:?phpstr=汉字123456abcdef+-*/ABCDE!@#$%^&*()结尾。

php中文正则匹配

php中utf-8编码下用正则表达式匹配汉字的最终正确表达式——/^[\x{4e00}-\x{9fa5}]+$/u,

GBK: preg_match("/^[".chr(0xa1)."-".chr(0xff)."A-Za-z0-9_]+$/",$str); //GB2312汉字字母数字下划线正则表达式。

编辑器查询或者 js匹配中文

匹配中文字符的正则表达式: [\u4e00-\u9fa5]

或许你也需要匹配双字节字符,中文也是双字节的字符

匹配双字节字符(包括汉字在内):[^\x00-\xff]

php 正则表达式 url匹配

1、 preg_grep(模式,数组);它的返回值是一个新数组,新数组的元素是匹配成功的元素。
2、preg_match(模式,字符串);它的返回值是一个整型,0或者1, 0表示匹配不成功,1表示匹配成功,preg_match()第一次匹配成功后将会停止搜索,不再继续往下匹配。
3、preg_match_all(模式,字符串,保存匹配结果的数组(多维数组));搜索字符串中,所有匹配模式给定正则表达式的匹配结果,并且将它们以指定的顺序输出到指定的数组中。它执行一个全局正则表达式匹配,一直匹配到字符串的末尾。
4、preg_quote(字符串);转义正则表达式字符, preg_quote() 需要参数字符串,并向其中每个正则表达式语法中的字符前增加一个反斜线。
5、转换效果如图所示。
不需要正则,以下代码就能实现:
<!--?php$str = 'http://www.sina.com.cn/abc/de/fg.fg.php?float=0.5';if(strpos($str, '?') !== false) { $str = substr($str, 0, strpos($str, '?')); $last_pos = strrpos($str, '.') + 1; // .号最后出现的位置 echo substr($str, $last_pos);} else { $last_pos = strrpos($str, '.') + 1; // .号最后出现的位置 echo substr($str, $last_pos);}\ /主。 *程序Info3 = \ D
1,preg_grep(pattern,array);它的返回值是一个新数组,新数组的元素是成功匹配的元素。
2,preg_match(mode,string);它的返回值是一个整数,0或1,0表示匹配不成功,1表示匹配成功,preg_match()将在第一个匹配成功后停止搜索,不再继续匹配。
3,preg_match_all(模式,字符串,保存匹配结果数组(multidimensional array));在搜索字符串中,所有匹配的模式都提供正则表达式的匹配结果,并以指定的顺序将它们输出到指定的数组。它执行与字符串末尾匹配的全局正则表达式匹配。
4,preg_quote(string);转义正则表达式字符,preg_quote()需要一个参数字符串,并在每个正则表达式语法中为该字符添加反斜杠。
5,转换效果如图所示。

php正则匹配数字

方法一:
if(preg_match("/^\d*$/",$fgid)) echo('是数字');
else echo('不是数字');
方法二:
if(is_numeric($fgid)) echo('是数字');
else echo('不是数字');
方法三:
$cid = empty($cid)? 1 : intval(preg_replace("/[^-\d]+[^\d]/",'', $cid));
验证数字:^[0-9]*$
验证n位的数字:^\d{n}$
验证至少n位数字:^\d{n,}$
验证m-n位的数字:^\d{m,n}$
验证零和非零开头的数字:^(0|[1-9][0-9]*)$
验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$
验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$
验证非零的正整数:^\+?[1-9][0-9]*$
验证非零的负整数:^\-[1-9][0-9]*$
验证非负整数(正整数 + 0) ^\d+$
验证非正整数(负整数 + 0) ^((-\d+)|(0+))$
验证长度为3的字符:^.{3}$
验证由26个英文字母组成的字符串:^[A-Za-z]+$
验证由26个大写英文字母组成的字符串:^[A-Z]+$
验证由26个小写英文字母组成的字符串:^[a-z]+$
验证由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$
验证由数字、26个英文字母或者下划线组成的字符串:^\w+$
验证用户密码:^[a-zA-Z]\w{5,17}$ 正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。
验证是否含有 ^%&‘,;=?$\” 等字符:[^%&‘,;=?$\x22]+
验证汉字:^[\u4e00-\u9fa5],{0,}$
验证Email地址:^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
验证InternetURL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ ;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$
验证电话号码:^(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}$:–正确格式为:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。
验证身份证号(15位或18位数字):^\d{15}|\d{}18$
验证一年的12个月:^(0?[1-9]|1[0-2])$ 正确格式为:“01”-“09”和“1”“12”
验证一个月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$ 正确格式为:01、09和1、31。
整数:^-?\d+$
非负浮点数(正浮点数 + 0):^\d+(\.\d+)?$
正浮点数 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
非正浮点数(负浮点数 + 0) ^((-\d+(\.\d+)?)|(0+(\.0+)?))$
负浮点数 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
浮点数 ^(-?\d+)(\.\d+)?
这个正则匹配数字他只能一次匹配一个数字0-9,无法匹配二位数字以上的,所以你如果要匹配二位数以上的可以这样写:/^(\d)*$/或者/^[0-9]*$/,他是无法分辨[1-188]他会将他当成从1-1 和 8 和8 这样分辨的。匹配1-188的话可以写成/^(1?[0-8]{1}[0-8]{1})?$/
一,写错了/^\d{*}$/改成/^(\d)*$/
二,正则没有判断数字范围的.注:后面的都是我自己试验的结果,如果有错请高手指出
[a-z]的话其实它判断范围是根据16进制的
a的16进制是61,z的是7A,由小到大的,如果是[z-a]估计就报错了.
还有匹配1-188的我也写了一个,和你网上找的差好多哦
/^([1-9]|([1]([0-8]?[0-8]?)))$/
不知道可不可以
式子:/^[a-zA-Z0-9]+$/u
释义:
"/":表示正则表达式的定义,固定写法。
"^":表示开头。
"[]":表示字符组。匹配所包含的任意一个字符。如,“[ab]”匹配“plain”中的“a”。
"a-z":表示匹配小写字母a-z的字母范围。
"A-Z":表示匹配大写字母A-Z的字母范围。
"0-9":表示匹配0-9的数字范围。
"+":表示匹配次数大于等于1。
"$":匹配输入行尾。如果设置了RegExp对象Multiline属性,$也匹配“\n”或“\r”之前的位置。
"u":最后的u是模式修饰符,严格的说可能叫预定义常量。表示使用unicode进行匹配。
扩展资料:
正则表达式的特点是:
1. 灵活性、逻辑性和功能性非常强;
2. 可以迅速地用极简单的方式达到字符串的复杂控制。
3. 对于刚接触的人来说,比较晦涩难懂。
由于正则表达式主要应用对象是文本,因此它在各种文本编辑器场合都有应用,小到著名编辑器EditPlus,大到Microsoft Word、Visual Studio等大型编辑器,都可以使用正则表达式来处理文本内容。
参考资料来源:
百度百科-正则表达式

如何用PHP 正则匹配出含有HTML标签的字符串中的英文单词

通过仔细阅读问题描述,样本采用 html 格式编写,其内容为中英文互译,如问题所要求的:“正文中的,英文单词都匹配出来”。
提供一下思路:
建议可以将问题简化一下,即只取正文中的英文部分。
通过观察如上提供的样本中,大部分的英文部分都以标签

...

(其中有一个 div 标签没有配对) ,则步骤如下:

1、先编写正则取出标签中的内容:

2、再对每个英文句子,取出其中的单词:
php正则匹配如何截取前200个字符,跪求大神解答

如下是一个测试脚本,
<!--?php $str="abcd123456";$pattern='/^(.{0,6}).*?$/i';preg_match($pattern,$str,$matches);print_r($matches);效果如下图:我看了你的$pattern,即/^(.{0,200}).*?$/i首先你使用了^.......$这个结构表示精确匹配某个字符串,逐个分析你的表达式,首先(.{0,200})表示匹配除"\n"外的0到200个字符,而^表示以(.{0,200})开头,而后面的.*表示0个或多个单个字符,而.*?结合起来则表示使用懒惰模式,匹配任意数量的重复个字符,/i表示去区分大小写,使用你的$pattern应该可以达到效果,同样使用preg_match语法的话,则preg_match($pattern,$str,$matches);然后$matches[1]就会输出第一个0到200字符组成的串(有200则输出200个,没有则输出所有)

php正则表达式匹配一段中文,中间有换行,空白,应该怎么写

有多种处理方法:1、使用[\s\S]匹配任意字符,而不是使用“.”2、使用s单行修饰模式,例:$pattern = '#abc.*?def#s'; //能匹配abc换行def3、使用\s*匹配换行和空格,php里\s能匹配空白字符,含换行php里的中文使用 [\x7f-\xff]表示,因此,使用正则:$pattern = '#[\x7f-\xff]+(?:\s*[\x7f-\xff]+)*#'; 即可

php 正则匹配的内容不包含某个字符

eregi是被废弃的正则方法,模式[]中不支持转义,[\-]不是转义'-'而是匹配'\'和'-',建议你换用preg_match,用法:preg('/^[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$/',$mail),这样就行了
判断一个字符串中是否含有另一字符串,php有很多方法,如下:
1. 常见函数
strstr($str, "abc");
2. 正则匹配
preg_match("/(abc)/is", $str);
完整代码示例:
$str = "dfadfadf765577abc55fd";
$pattern_url = "/^((?!abc).)*$/is";
if (preg_match($pattern_url, $str))
{
echo "不含有abc!";
}
else
{
echo "含有abc!";
}
结果为:false,含有abc!
同时匹配,包含字符串 “abc”,而且不包含字符串 “xyz”的正则表达式:
preg_match("/(abc)[^((?!xyz).)*$]/is", $str);

阅读更多 >>>  php中文网17期,php有哪些框架?

网站数据信息

"php正则匹配,如何用PHP 正则匹配出含有HTML标签的字符串中的英文单词"浏览人数已经达到22次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:php正则匹配,如何用PHP 正则匹配出含有HTML标签的字符串中的英文单词的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!