2014-02-05 2 views
0

필자가 작성한 코드와 텍스트 편집기를 찾아서 대체해야하지만 정규 표현식에서 텍스트 편집기가 작동하지만 어떻게 작성해야하는지 잘 모릅니다. 내 문제가 어디에문자열을 움직이는 정규 표현식 만들기

if (grep /wordTwo/, $q->param('wordOne[]')) { ... } 

wordOne/두 어떤 단어가 될 수 있으며, 확실하지 메신저 :

에서 :

if ($q->param('wordOne[]') =~ m/wordTwo/) 

에 내가 정규식 표현을 만들 것입니다 방법이 작업을 수행하는 내 정규식의 서식을 찾아서 내 형식으로 바꾸는 방법

+1

어떤 편집기를? 그들의 정규식 엔진은 다를 것입니다. 일반적인 구문은's/find (this)/\ 1/g' 또는 이와 유사한 것으로 대체되지만'find \ (this \)'와 같은 형태 일 수 있습니다 (예 : Emacs) – BRFennPocock

+0

http : // stackoverflow를보십시오. com/questions/11819886/regular-expression-search-replace-in-sublime-text-2 http://stackoverflow.com/questions/17617961/sublime-text-regex-find-and-replace http : // stackoverflow. co.kr/questions/11733370/how-do-do-a-regex-search-and-sublime-text-2 – BRFennPocock

답변

0

검색 대상 :

if \(\$q->param\('([^']+)'\) =~ m/([^/]+)/\) 

([^']+) 사이의 텍스트는 param('') =~ 사이에 있습니다. ([^/]+)도 비슷합니다. 그룹 캡처에 대한 자세한 내용은 here을 참조하십시오.

if (grep /\2/, $q->param('\1')) { ... } 

\1\2역 참조 캡처 된 텍스트은 다음과 같습니다

는 교체하십시오.

출력 :

if (grep /wordTwo/, $q->param('wordOne[]')) { ... } 

데모 : http://regex101.com/r/pB2jM1

+0

당신은 생명의 은인입니다! – BluGeni

0

찾기 : (\$q->param\('.*?\[\]'\)) =~ m(/.*?/)

교체 : grep \2, \1