JS和PHP的正则表达式的区别

JavaScript011

JS和PHP的正则表达式的区别,第1张

总体上,PHP的正则比标准javascript的要强大。

PHP有两套正则库,一是posix兼容库(php5.3之前版本可用),而是perl兼容库(主力库)

perl兼容库中支持而js正则不支持的:

1、支持(?<!和(?<=回程断言

2、许多预置字符类(:alnum:)

3、支持组标识(?<>

4、支持子组同名(?|

5、支持独立子组(?>

6、支持条件子组(?()

7、支持递归子组(?R)

8、支持本地编码,js只支持unicode

9、修正器更多

10、等等等等细节上的丰富。

总之,js的正则库在php正则面前显得只是一个简约的基础库。

编程实现是细节活,粗枝大叶的结果就是问题多多。一定要弄清楚

所有语言中的正则表达式都是极其相似,有的只是做了少许改动

javascript和php的正则表达式是有区别的

比如

javascript 换行用\n

php 换行用\r\n