Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.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_Pcre - Fatal编程技术网

Php 用消极的眼光去捕捉

Php 用消极的眼光去捕捉,php,regex,pcre,Php,Regex,Pcre,让我们假设我有以下主题: abcdef ghidef 我想匹配以def结尾的单词,而不是abc开头的单词(在本例中是ghidef)。我怎样才能配得上这个 当我使用: (?<!abc)def (? 我得到的是第二个def,但这里没有得到ghi。不需要向后看。您可以使用负向前看: \b(?!abc)\w*def\b 正则表达式分解: \b-断言单词边界 (?!abc)-是一种负前瞻,它断言单词在\b之后不以abc开头(单词边界) \w*-匹配0个或多个单词字符 def-单词的结尾文本

让我们假设我有以下主题:

abcdef ghidef
我想匹配以def结尾的单词,而不是abc开头的单词(在本例中是ghidef)。我怎样才能配得上这个

当我使用:

(?<!abc)def
(?

我得到的是第二个
def
,但这里没有得到
ghi

不需要向后看。您可以使用负向前看:

\b(?!abc)\w*def\b

正则表达式分解:

  • \b
    -断言单词边界
  • (?!abc)
    -是一种负前瞻,它断言单词在
    \b
    之后不以
    abc
    开头(单词边界)
  • \w*
    -匹配0个或多个单词字符
  • def
    -单词的结尾文本是
    def
  • \b
    -单词边界

您的问题非常不清楚:您应该说明您需要匹配的单词不是以
abc
开头,而是以
def
结尾。非常感谢。这就是我尝试实现的目标:)