2017-11-14 2 views
-2

처럼 일치 된 그룹에 맞게? 나는 그 자체로 대체되기를 원한다. 분명히 "$1"과 일치하는 것은 여기에서 너무 잘 작동하지 않을 것입니다.정규식 어떻게 여기 예를 들어

편집 : 추가 설명이 필요한 것 같습니다. 나는이 문자열이있는 경우 그래서 :

OK good. And this sentence? And maybe even this one! 

는 다음 나는 엔딩을 일치시킬 수 있습니다. 그래서 구두점과 일치합니다.

+0

이것은 매우 넓습니다/당신이 묻는 것이 명확하지 않습니다. 귀하의 질문에 실제 질문을 포함하십시오 (제목뿐 아니라). 샘플 입력 및 예상 출력도 제공 할 수 있습니까? 나는 당신의 질문이 그렇지 않으면 닫힐 것을 두려워합니다. 또 다른 메모에서'(\. \ s) | (\? \ s) | (\? \ s)'(\ : \ s)''([. !? :] \ s)' – ctwheels

+1

또한 질문 할 때'php' 태그로 표시되었으므로 완전한 PHP 코드를 제공하십시오. – Dinei

+0

'preg_replace_callback' 콜백 함수 내에서 캡처를 평가하고 이에 따라 바꿀 수 있습니다. –

답변

2

바꾸기에서 모든 캡처 그룹을 사용할 수 있으며 일치하는 그룹 만 값을 갖습니다. 그래서 정규식에 대해 당신이 제공 한 사용 :

$1$2$3$4 

세 번째 캡처 그룹이 $3을 일치하면 채워 다른 모든 비어 있습니다.

0
은 이제 구두점을 얻기 위해 그룹 1을 일치시킬 수 있습니다

/([.!?:])\s/ 

에 정규식을 변경

.

+0

그런 식으로 당신은 캡쳐 그룹의 공간을 잃어 버립니다. 내 코드를 보면, 당신은 당신의 결과가 똑같은 결과를 내지 못한다는 것을 알게 될 것입니다. 광산에서 공간 \ s는 각 캡처 그룹 내에 있습니다. 나는 $ 1 $ 2 $ 3 $ 4 작품 만 생각합니다. – Hasen