首页 > 后端开发 > php教程 > 如何在 PHP 中将 POSIX 正则表达式转换为 PCRE?

如何在 PHP 中将 POSIX 正则表达式转换为 PCRE?

DDD
发布: 2024-12-30 01:58:08
原创
576 人浏览过

How Do I Convert POSIX Regular Expressions to PCRE in PHP?

在 PHP 中将 POSIX RegExpExpressions 转换为 PCRE (preg)

自版本 5.3 起,POSIX 正则表达式 (ereg) 在 PHP 中已被弃用。从版本 1.0 开始,迁移到 Perl 兼容正则表达式 (PCRE) 至关重要。以下是将旧表达式转换为与 preg 兼容的对应表达式的指南:

分隔符:

最重要的变化是引入了分隔符,它将正则表达式括起来。它们可以是 ~、/、# 或方括号:[]、() 或 {}。

转义字符:

如果所选分隔符存在于表达式,用反斜杠 () 转义。使用 preg_quote 转义所有分隔符和保留字符。

区分大小写修饰符:

PCRE 引入了“i”修饰符用于不区分大小写的匹配,类似于 eregi。

简单匹配:

在像您的示例 (ereg('^hello world')) 的情况下,一个简单的 strpos 就足够了:

stripos($str, 'hello world') === 0
登录后复制

转换示例:

eregi('^hello world'); // POSIX expression

// PCRE conversion with delimiters and case-insensitive modifier
preg_match('/^hello world/i', $str);
登录后复制

进一步资源:

  • PHP 手册 - PCRE 语法:https://www.php.net/manual/en/reference.pcre.pattern.syntax.php
  • 差异POSIX Regexp 和 PCRE 之间: https://www.php.net/manual/en/reference.pcre.pattern.posix.php

以上是如何在 PHP 中将 POSIX 正则表达式转换为 PCRE?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板