답변
를 제공하는 것은 당신이있어 무엇인가 찾고 :
$value = preg_replace('/([C]{3})+/', "Z", $value);
... 또는, "세 개의 C
그룹 중 하나 이상을 Z
으로 바꿉니다." 게시 한 코드가 말하는대로 작동하지 않습니다. 나는 팀이 제안, 당신은 정말이 일을하고, 의심 :
$value = preg_replace('/[C]{3}/', "Z", $value);
참고 쉼표 (,
)의 부재를. 이 한Z
와의 '의 내 버전은 세 가지 C
의 모든 그룹을 대체하는 Z
와의'세 C
의 각 그룹을 대체합니다.
EDIT : ... 또는 마리오가 제안했듯이, 당신은 정말 탐욕스러운 성냥을하고 있습니다. 이 경우 "정규식"문자열은 '/[C]{3,}?/'
또는 '/[C]{3,}/U'
이됩니다.
정확히 내가 원하는 것! 더하기 기호가 없습니다! 감사 – fkingan
는 ungreedy에 기본 보인다. 이 경우 당신은 그래서는 최소 3의 문자 의미 추가 +
으로 {3,}
정량을 변경할 수 있습니다
= preg_replace('/[C]{3,}+/',
이미 최소 3자를 의미합니다. '+'는 한정어를 소유로 만들고,이 경우에는 결과를 전혀 변경하지 않습니다. –
팀 말이 맞아, 수량 기호를 소유욕으로 바꾸면 욕심이 바뀌지 않고 단지 역 추적을 사용할 수 없습니다. 즉 욕심쟁이 한정 기호는 항상 최대 값을 취하고 비 욕심 값은 항상 최소값을 취합니다. 전체적으로 일치하지 않을 수도 있습니다. –
@AlanMoore : 우리는 이미 Tim이 옳았다는 것을 알아 냈습니다. 그러나 명명법은 실제 결과에 지나치게 관련이 없습니다. – mario
<?php
$a = "ABCCCCCCCCCCCCCDEF";
echo preg_replace('/[C]+/', 'ZC', $a);
?>
내가이 생각
ABZCDEF
- 1. 파이썬 정규 표현식 반복되는 문자
- 2. 정규 표현식 나는이 같은 문자열이 반복 문자
- 3. PHP는 preg_match 정규 표현식
- 4. PHP는 preg_match 정규 표현식 개선
- 5. 정규 표현식 - 반복 그룹
- 6. 반복 그룹을 캡처하는 정규 표현식
- 7. 정규 표현식 개폐 문자
- 8. 정규 표현식 특수 문자
- 9. 홀수 정규 표현식 결과 .../문자
- 10. 정규 표현식 - 이스케이프 문자 문제
- 11. 정규 표현식 비 ASCII 문자
- 12. .NET 정규 표현식 예약 문자
- 13. 최대 255 자까지 피하는 정규 표현식
- 14. flex : 숫자, 문자, 공백만을 받아들이는 정규 표현식
- 15. 정규 표현식을 사용하여 반복되는 특수 문자 확인
- 16. 같은 역 참조, PHP는 PCRE의 정규 표현식
- 17. 정규 표현식
- 18. ruby 정규 표현식 문자열에 반복 일치를 대체하십시오.
- 19. 연도 추출을위한 정규 표현식
- 20. BNF 반복되는 문자 시퀀스
- 21. 정규 표현식
- 22. 정규 표현식
- 23. 정규 표현식
- 24. 정규 표현식
- 25. MySQL REGEXP 반복 문자
- 26. VB.net에서 정규 표현식과 일치하지만 반복 작업에 도움이 필요합니다. 정규 표현식
- 27. 정규 표현식
- 28. 정규 표현식 패턴에 공백 문자 추가 *
- 29. 정규 표현식 (preg_match) - id와 임의의 문자
- 30. 정규 표현식 : 마지막 2 문자 추출
나를 위해 * "ABZDEF"*를 반환합니다. [CodePad] (http://codepad.org/RoiH5dOI). – alex
실행중인 PHP 버전은 무엇입니까? –
간단한 예제가 아닌 실제 실행중인 코드를 표시하십시오. 그리고 그 코드의 의도가 무엇인지 설명하십시오. '/ C {3} /'를 검색 정규 표현식으로 사용할 때 나타나는 결과를 얻습니다. –