当前位置:首页 » 编程语言 » php正则工具

php正则工具

发布时间: 2022-10-02 11:33:57

1. php怎么正则匹配div里面class值是两个得

最好不要使用正则来做,感觉你想在做爬虫,如果是的话建议使用class选择器或者xpath选择器。这个都比使用正则简单。
我遇到这样的问题都是这两种工具,比正则简单。有问题直接问我吧

2. php 正则表达式如何判断一个字符串是否为合法的四则数学算式

代码如下(经测通过):

<?php
$str="((1+1)*3.3)/10-12+(1+1)";
if(preg_match("/[+-*/.]{2}|[^+-*/()d.]+/i",$str,$matches)){
echo'非法算式';
}else{
if(substr_count($str,"(")==substr_count($str,")")){
echo'合法算式';
}else{
echo'括号不匹配';
}
}
?>


判断str里是否存在连续运算符、小数点或运算符、括号、数字以外的字符

若存在则非法

若不存在则判断str里( 和 )数量是否一致

3. php 中支持正则的方法有哪一些

\
将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符。例如,“n"匹配字符"n"。"\n"匹配一个换行符。串行"\\"匹配"\"而"\("则匹配"("。

^
匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性,^也匹配“\n"或"\r"之后的位置。

$
匹配输入字符串的结束位置。如果设置了RegExp对象的Multiline属性,$也匹配“\n"或"\r"之前的位置。

*
匹配前面的子表达式零次或多次。例如,zo*能匹配“z"以及"zoo"。*等价于{0,}。

+
匹配前面的子表达式一次或多次。例如,“zo+"能匹配"zo"以及"zoo",但不能匹配"z"。+等价于{1,}。

?
匹配前面的子表达式零次或一次。例如,“do(es)?"可以匹配"does"或"does"中的"do"。?等价于{0,1}。

{n}
n是一个非负整数。匹配确定的n次。例如,“o{2}"不能匹配"Bob"中的"o",但是能匹配"food"中的两个o。

{n,}
n是一个非负整数。至少匹配n次。例如,“o{2,}"不能匹配"Bob"中的"o",但能匹配"foooood"中的所有o。"o{1,}"等价于"o+"。"o{0,}"则等价于"o*"。

{n,m}
m和n均为非负整数,其中n<=m。最少匹配n次且最多匹配m次。例如,“o{1,3}"将匹配"fooooood"中的前三个o。"o{0,1}"等价于"o?"。请注意在逗号和两个数之间不能有空格。

?
当该字符紧跟在任何一个其他限制符(*,+,?,{n},{n,},{n,m})后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串“oooo","o+?"将匹配单个"o",而"o+"将匹配所有"o"。

.
匹配除“\n"之外的任何单个字符。要匹配包括"\n"在内的任何字符,请使用像"(.|\n)"的模式。

(pattern)
匹配pattern并获取这一匹配。所获取的匹配可以从产生的Matches集合得到,在VBScript中使用SubMatches集合,在JScript中则使用$0…$9属性。要匹配圆括号字符,请使用“\("或"\)"。

(?:pattern)
匹配pattern但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。这在使用或字符“(|)"来组合一个模式的各个部分是很有用。例如"instr(?:y|ies)"就是一个比"instry|instries"更简略的表达式。

(?=pattern)
正向肯定预查,在任何匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如,“Windows(?=95|98|NT|2000)"能匹配"Windows2000"中的"Windows",但不能匹配"Windows3.1"中的"Windows"。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。

(?!pattern)
正向否定预查,在任何不匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如“Windows(?!95|98|NT|2000)"能匹配"Windows3.1"中的"Windows",但不能匹配"Windows2000"中的"Windows"。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始

(?<=pattern)
反向肯定预查,与正向肯定预查类拟,只是方向相反。例如,“(?<=95|98|NT|2000)Windows"能匹配"2000Windows"中的"Windows",但不能匹配"3.1Windows"中的"Windows"。

(?<!pattern)
反向否定预查,与正向否定预查类拟,只是方向相反。例如“(?<!95|98|NT|2000)Windows"能匹配"3.1Windows"中的"Windows",但不能匹配"2000Windows"中的"Windows"。

x|y
匹配x或y。例如,“z|food"能匹配"z"或"food"。"(z|f)ood"则匹配"zood"或"food"。

[xyz]
字符集合。匹配所包含的任意一个字符。例如,“[abc]"可以匹配"plain"中的"a"。

[^xyz]
负值字符集合。匹配未包含的任意字符。例如,“[^abc]"可以匹配"plain"中的"p"。

[a-z]
字符范围。匹配指定范围内的任意字符。例如,“[a-z]"可以匹配"a"到"z"范围内的任意小写字母字符。

[^a-z]
负值字符范围。匹配任何不在指定范围内的任意字符。例如,“[^a-z]"可以匹配任何不在"a"到"z"范围内的任意字符。

\b
匹配一个单词边界,也就是指单词和空格间的位置。例如,“er\b"可以匹配"never"中的"er",但不能匹配"verb"中的"er"。

\B
匹配非单词边界。“er\B"能匹配"verb"中的"er",但不能匹配"never"中的"er"。

\cx
匹配由x指明的控制字符。例如,\cM匹配一个Control-M或回车符。x的值必须为A-Z或a-z之一。否则,将c视为一个原义的“c"字符。

\d
匹配一个数字字符。等价于[0-9]。

\D
匹配一个非数字字符。等价于[^0-9]。

\f
匹配一个换页符。等价于\x0c和\cL。

\n
匹配一个换行符。等价于\x0a和\cJ。

\r
匹配一个回车符。等价于\x0d和\cM。

\s
匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。

\S
匹配任何非空白字符。等价于[^ \f\n\r\t\v]。

\t
匹配一个制表符。等价于\x09和\cI。

\v
匹配一个垂直制表符。等价于\x0b和\cK。

\w
匹配包括下划线的任何单词字符。等价于“[A-Za-z0-9_]"。

\W
匹配任何非单词字符。等价于“[^A-Za-z0-9_]"。

\xn
匹配n,其中n为十六进制转义值。十六进制转义值必须为确定的两个数字长。例如,“\x41"匹配"A"。"\x041"则等价于"\x04&1"。正则表达式中可以使用ASCII编码。.

\num
匹配num,其中num是一个正整数。对所获取的匹配的引用。例如,“(.)\1"匹配两个连续的相同字符。

\n
标识一个八进制转义值或一个向后引用。如果\n之前至少n个获取的子表达式,则n为向后引用。否则,如果n为八进制数字(0-7),则n为一个八进制转义值。

\nm
标识一个八进制转义值或一个向后引用。如果\nm之前至少有nm个获得子表达式,则nm为向后引用。如果\nm之前至少有n个获取,则n为一个后跟文字m的向后引用。如果前面的条件都不满足,若n和m均为八进制数字(0-7),则\nm将匹配八进制转义值nm。

\nml
如果n为八进制数字(0-3),且m和l均为八进制数字(0-7),则匹配八进制转义值nml。

\un
匹配n,其中n是一个用四个十六进制数字表示的Unicode字符。例如,\u00A9匹配版权符号(©)。

4. PHP的正则是不是有点问题

只要用正则表达式的s模式,让点可以匹配回车换行符,然后在结果中把回车换行符替换为空,就可以输出章节名了.

5. php 正则写法

$str='style="background-image:url(http://..com/new?word=php+%D5%FD%D4%F2%D0%B4%B7%A8&ie=GBK);"';
preg_match('/((.+))/',$str,$match);
print_r($match[1]);

6. php 使用正则表达式是否具有优势和缺点

优点:
正则表达式可以处理比较复杂的文本数据处理如匹配、替换、分割,比着php中的原生字符串函数功能更强,比如处理url,处理文本,验证规则
缺点:
有强大的功能,但是处理速度比着原生字符串函数要慢

原则上能用原生的函数不用php中正则表达式

7. php 正则表达式 贪婪模式怎么写

MTracer正则表达式验证工具,一般好用,我是只下载了个这个玩了一会觉得上手挺简单的,就推荐下。正则表达式工具下载地址:MTracer.rar(首先打开工具,在右边有上下两个输入框,上面那个是输入正则的,下面那个是输入要匹配字符串的,上下内容输入好以后,就可以单击匹配按钮了,如果觉得匹配ok的话,就可以直接单击上面菜单的代码生成,来生成你要的C#代码,java代码,Script代码等等)比如我要匹配两个标签里的所有东西如asdawdsadwdasdmwioasdasd我要匹配两个Div之间的东西,那么就应该写[/S/s]*注意,你用request对象去请求回来的页面是带有/r 、/n 、/t这些标签的,所有你要学会如何去表示这些标签,另外捕获标签的时候,你是否要最大限度的匹配还是要最小限度的去匹配,下面就说明下这两种模式 贪婪模式 和 非贪婪模式 :在正则表达式的匹配次数后面再添加一个 ? 表示 非贪婪模式
常用的匹配次数有 *、{m.n}、+贪婪模式:表达式在可匹配可不匹配的时候,也是尽可能的 "要匹配"。
非贪婪模式表达式尽可能少的匹配,使可匹配可不匹配的表达式,尽可能的 "不匹配"。
如bdxxx taaaa
表达式A1: .*
结果: 匹配1次
表达式A2:.*?
结果:匹配2次
表达式B1:[/w/s/]{1,}?
结果:匹配2次去掉问号结果:匹配1次同理 将{1,}改+ 也可以得到相同的匹配结果,好了今天就写这么多了,哪天有空了再写写
-

8. php如何进行正则替换

按照你的要求把h后的数字和w后的任意数字替换成固定数的php程序如下

<?php

$fix='555';//固定数

$str='asdasda/w/100/h/200/q/sdasdsad';

$regex1="~h/[0-9]+~";

$result=preg_replace($regex1,"h/".$fix,$str);

$regex2="~w/[0-9]+~";

$result=preg_replace($regex2,"w/".$fix,$result);

print_r($result);

?>
运行结果

asdasda/w/555/h/555/q/sdasdsad

9. 中文版编写php代码的工具有那些

1. Rephactor

Rephactor是一款命令行重构工具,这是一款自动化工具,允许开发者以一种简洁的方式在不同的代码库中修改源码
主要功能:
保证重构的可逆性—— 一旦发现问题,代码是可逆的,可以回溯到前一个版本。
查找替换功能—— 普通查找替换,方法重命名,类重命名,正则表达式模式的替换。
所有操作完成后,均基于SimpleTest Aperiplus进行测试,并保证测试的覆盖率。
集成Phemto ,保证类的相关性测试。
2. Scisr
Scisr是一款利用PHP编写的重构工具。项目托管在GitHub上。基于GPL许可证下发行。
使用方法:
类的重命名:
[js] view plain
$ scisr rename-class OldName NewName [files]
修改方法:
[js] view plain
$ scisr rename-method OwningClassName oldMethodName newMethodName [files]
文件重命名:
[js] view plain
$ scisr rename-file old/file_name new/dir/new_file_name [files]
重命名类和文件:
[js] view plain
$ scisr rename-class-file OldClassName NewClassName [files]
3. PHP Refactoring Browser
这是一款PHP 代码的重构工具,通过生成diffs来描述重构的步骤,避免重构过程中的简单错误,该工具非常棒。项目托管在GitHub上。
使用库:
PHP Parser by Nikic
PHP Token Reflection from Ondřej Nešpor
重构浏览器数据主要包含以下几个方面:
补丁——支持基于更改文件操作创建补丁;
重构——包含实际重构域和适配第三方库;
集合——基于PHP数组可靠添加集合语义。目前包含一组类型。
4. PhpStorm
PhpStorm是由JetBrains公司开发的一款PHP IDE富应用,同时支持重构。PhpStorm可随时帮助用户对其编码进行调整,运行单元测试或者提供可视化调试功能。
目前,发布了PhpStorm 7版本,新版本支持PHP5.5;改进PHP语法着色性能;Vagrant、SSH 控制&远程工具;支持Drupal & PHP框架;改进调试和测试性能。
PhpStorm的主要特性:
智能PHP编码编辑器;
代码质量分析;
支持调试/测试;
支持HTML/CSS/JavaScript编辑器;
支持跨平台。
5. Zend Studio

Zend Studio是Zend Technologies开发的PHP语言集成开发环境。支持HTML和JS标签,但只对PHP语言提供调试支持。
主要特性:
具备功能强大的专业编辑工具和调试工具;
支持PHP语法高亮显示、语法自动填充功能,支持语法自动缩排和代码复制功能;
支持书签功能;
内置一个强大的PHP代码调试工具;
支持本地和远程两种调试模式,支持多种高级调试功能。

热点内容
车库配置灭火器有什么要求 发布:2024-05-04 02:41:46 浏览:16
软考算法 发布:2024-05-04 02:36:49 浏览:73
c语言求质因子 发布:2024-05-04 02:10:56 浏览:756
sqlserver无法启动 发布:2024-05-04 01:37:19 浏览:850
php使用正则 发布:2024-05-04 01:36:12 浏览:120
玉石密度算法 发布:2024-05-04 01:24:49 浏览:336
我的世界云服务器怎么样 发布:2024-05-04 01:20:01 浏览:23
androidsdk包含 发布:2024-05-04 00:45:54 浏览:209
android拷贝文件 发布:2024-05-04 00:38:28 浏览:777
存储冗余比 发布:2024-05-04 00:12:58 浏览:405