php
  • regex-negation
  • 2013-03-25 2 views 5 likes 
    5

    "_loop"이라는 단어가 아닌 {}으로 싸여있는 모든 단어를 찾으려고합니다. 나는 내가 reg 식으로 잘못되어 가고있는 것을 볼 수 없다.PHP Regexp negative lookahead

    이 발생
    $content = '<h1>{prim_practice_name}</h1><p>{prim_content}</p><p>Our Locations Are {location_loop}{name} - {state}<br/>{/location_loop}</p>'; 
    $pattern = '/\{(\w*(?!\_loop))\}/'; 
    
    +0

    당신의'lookbehind 찾고있는 <'?!. – mario

    답변

    3

    \ 수표 전에 중지 단어 "_loop"를 "먹는"* 먼저 단어를 확인해야합니다 것을 방지하기 위해 승 때문에 (\ w 전에 *), 다음과 같은 :

    $pattern = '/\{((?!\w*_loop\})\w*)\}/'; 
    

    또는 당신은 ?< ! 사용할 수 있습니다

    $pattern = '/\{(\w*(?<!_loop))\}/'; 
    
    관련 문제