是否有一个实用程序将POSIX转换为PCRE for PHP?

开发技术 作者: 2024-07-25 18:50:02
参见英文答案 > How can I convert ereg expressions to preg in PHP?                                    4个 是否有一个实用程序将POSIX转换为PCRE for PHP?我对PCRE上的PHP手册感到有些困惑,虽然我会尝试在PCRE上找到更多信息,但我想知道是否有人设计过这样的实用程序. 或者,如果有人会解释如
参见英文答案 > How can I convert ereg expressions to preg in PHP?4个
是否有一个实用程序将POSIX转换为PCRE for PHP?我对PCRE上的PHP手册感到有些困惑,虽然我会尝试在PCRE上找到更多信息,但我想知道是否有人设计过这样的实用程序.

或者,如果有人会解释如何转换以下内容,那也没关系:

ereg("^#[01-9A-F]{6}$",$sColor)

但请解释它是如何完成的,而不仅仅是告诉我转换.

preg_match("/^#[01-9A-F]{6}$/",$sColor)

在这种情况下,您只需要添加两个分隔符.

在perl中,您可以编写类似的内容

if ( s =~ /x.+y/ )
{ print "match"; }

如您所见,实际的正则表达式被封装在//中.如果你想在正则表达式上设置一个选项,你可以在第二个/之后设置它,例如默认情况下将表达式切换为ungreedy / x. ÿ/ U
pcre现在可以模拟这种行为.虽然您必须调用函数,但您还必须提供分隔符并在第二个分隔符后设置选项.在perl中,分隔符必须是/,使用pcre可以更自由地选择

preg_match("/^#[01-9A-F]{6}$/",$sColor)
preg_match("!^#[01-9A-F]{6}$!",$sColor)
preg_match("#^\#[01-9A-F]{6}$#",$sColor) // need to escape the # within the expression here
preg_match("^#[01-9A-F]{6}$",$sColor)

与pcre完全相同,最好选择一个不出现在表达式中的字符.

原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_50687.html