0
CODE :
간단한 정규식 : 나는 기간을 잡을 수없는 것
$raw = "Test List: Dist. dist Disti distributor";
$repld = preg_replace('/\b(dist(\.|i?)(ributor)?)\b/i', 'ruff', $raw);
echo $repld;
기대 :
시험 목록 : 멍 멍 멍 멍
가져 오기 :
테스트 목록 : ruff. ruff ruff ruff
그 첫 번째 "ruff"이후에 완고하게 약간의 시간이 있습니다.
허용, 나는 정규 표현식이 아니지만 \.
이 일치한다고 생각했습니다.
어디서 잘못 되었나요?
'distributor.'와 일치해도이 경우에는 문제가 발생하지 않습니다. 감사. – mOrloff
왜 '.'와 일치하지 않는지 명확히 할 수 있습니까? 나는 그 설명을 이해하려고 고심하고있다. – mOrloff
이 예제에서 사용되지 않은 모든 경우를 무시하여''Dist. ''문자열에 대한 정규 표현식을 단순화하면'/ \ bdist \. \ b/i'가됩니다. 그래서'\ b'는'.' 다음에 그리고''- b'가 너비가없는 패턴이므로 특정 문자 나 문자열과 일치하지 않는다는 것을 기억하십시오. 그것은 두 문자 사이의 한 점에서만 일치합니다 . 그러나'\ b'는 항상 문자 경계 앞에 매다는 문자가 있어야한다는 뜻입니다. '.'이나''는 문자가 아닙니다. 그게 더 명확한가요? – drquicksilver