2012-12-05 1 views
3

의 여러 인스턴스를 찾을 수있는 정규 표현식 '%%'에 싸여있는 것을 제거 할 수있는 정규 표현식이 필요합니다.이 정규식은 다음%% {ANYTHING} %%

  • %% ONE %%
  • %% 두 %%
  • %% 세 %%
  • %% SIX %%
,536,

나는 많은 다른 방법들을 시도해 봤고, 이것을 달성하는 방법이 있다고 확신한다. 그러나 나는 아직 고뇌하고있다. 나는 주로 문자열이 첫 번째 %%부터 마지막 ​​%%까지 모든 것을 일치시키는 위치를 얻습니다. 이는 내가 원하는 것이 아닙니다. 난 당신이 ? 수정을 사용하여 non-greedy 일치해야합니다 내가 앞으로 조회 뭔가를해야한다고 생각하지만,

+0

당신이 제대로 작동하지 않는 경우에도 당신이 뭘하려했다 경우 그것은 도움이 될 것이다. –

+0

사과 - 나는 이것을 원했지만 오늘은 사무실에 없다. 대답 주셔서 감사합니다 :) –

답변

2

을 구현하는 데 어려움을 겪고 :

%%.*?%% 

온라인으로 작업을 참조하십시오 rubular

+0

친절 선생님 고마워요! 정규식에 대한 내 이해가 확장됩니다. –

+0

@TomBeech 당신의 작전에 따라 이것은 당신의 요구 사항을 충족시키지 못합니다. '나는 주로 문자열의 첫 번째 %%에서 마지막 %%까지 모든 것을 일치시키는 위치에 있습니다. 이것은 내가 원하는 것이 아닙니다. ' – fidev

0

이도 수행 할 수 있습니다 % 사이에 허용되는 내용을 제한해야합니다.

%%[^%]*%% 

더 널리이 %% % B 형 %% 일치하지 않습니다 그러나 노트, 비 욕심 일치보다 지원됩니다. 필요한 경우,이 몇 가지 수정을 수행 할 수 있습니다, 비록 :

%%([^%]|%[^%])*%% 

또는 동등

%%(%?[^%])*%% 
관련 문제