Rumah > pembangunan bahagian belakang > masalah PHP > php正则表达式有什么用

php正则表达式有什么用

(*-*)浩
Lepaskan: 2023-02-23 22:42:01
asal
2541 orang telah melayarinya

我们什么时候使用正则表达式呢?不是所有的字符操作都用正则就好了,php在某些方面用正则反而影响效率。当我们遇到复杂文本数据的解析时候,用正则是比较好的选择。

 php正则表达式有什么用

优点

正则表达式在处理复杂字符操作的时候,可以提高工作效率,也在一定程度节省你的代码量。

缺点

我们在使用正则表达式的时候,复杂的正则表达式会加大代码的 复杂度,让人很 难理解。所以我们有的时候需要在正则表达式内部添加注释。

通用模式(推荐学习:PHP编程从入门到精通

定界符,通常使用 "/"做为定界符开始和结束,也可以使用"#"。

什么时候使用"#"呢?一般是在你的字符串中有 很多"/"字符的时候,因为正则的时候这种字符需要转义,比如uri。

使用"/"定界符的代码如下.

$regex = '/^http:\/\/([\w.]+)\/([\w]+)\/([\w]+)\.html$/i';
$str = 'http://www.youku.com/show_page/id_ABCDEFG.html';
$matches = array();

if(preg_match($regex, $str, $matches)){
    var_dump($matches);
}

echo "\n";
Salin selepas log masuk

preg_match中的$matches[0]将包含与整个模式匹配的字符串。

使用"#"定界符的代码如下.这个时候对"/"就不转义!

$regex = '#^http://([\w.]+)/([\w]+)/([\w]+)\.html$#i';
$str = 'http://www.youku.com/show_page/id_ABCDEFG.html';
$matches = array();

if(preg_match($regex, $str, $matches)){
    var_dump($matches);
}

echo "\n";
Salin selepas log masuk

正则表达式的定义可以这样简单概括:“正则表达式描述了一种字符串匹配的模式,通过这个模式在特定的函数中对字符串进行匹配、查找、替换及分割等操作。作为一个匹配模板,是由原子、特有功能字符及模式修正符三部分组成的文字模式。

Atas ialah kandungan terperinci php正则表达式有什么用. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
php
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan