Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 有谁能引导我为正则表达式定义断言文档吗?_Php_Regex_Assertions - Fatal编程技术网

Php 有谁能引导我为正则表达式定义断言文档吗?

Php 有谁能引导我为正则表达式定义断言文档吗?,php,regex,assertions,Php,Regex,Assertions,我偶然发现了名为“正则表达式的真正威力”的文章。我看到他的regex使用DEFINE断言创建了一个正则表达式,以符合RFC的方式匹配电子邮件。命名的捕获很好,但我真正想知道的是关于DEFINE断言的一些文档。简化示例: /(?(DEFINE)(?<NUM>[0-9]))^(?&NUM)$/ /(?(定义)(?[0-9]))^(?&NUM)$/ 在我精通正则表达式的书中快速搜索并没有得到任何快速的结果。谷歌让我两手空空,一次与ideone的在线测试导致了结果,DEFINE很

我偶然发现了名为“正则表达式的真正威力”的文章。我看到他的regex使用DEFINE断言创建了一个正则表达式,以符合RFC的方式匹配电子邮件。命名的捕获很好,但我真正想知道的是关于DEFINE断言的一些文档。简化示例:

/(?(DEFINE)(?<NUM>[0-9]))^(?&NUM)$/
/(?(定义)(?[0-9]))^(?&NUM)$/
在我精通正则表达式的书中快速搜索并没有得到任何快速的结果。谷歌让我两手空空,一次与ideone的在线测试导致了结果,DEFINE很可能是定义断言的一些关键词,因为我不能用FOOBAR来代替这个词表意文字测试的链接:vs

任何解释,搜索关键字,提示或链接到一些不错的文档都将不胜感激。提前感谢。:-)

(DEFINE)
是定义命名子模式的一种方式。在上面的示例中,您正在定义
NUM
子模式,然后使用它
(?&NUM)
。在nikic的链接示例中,使用彼此定义了一整串命名的子模式,这些子模式累积在
?&addr\u spec

正如您所发现的,搜索单词“define”并不容易。我找到了一些参考资料来帮助您开始: