연결을 통해 더 커지는 문자열 변수가 있습니다. 모든 하위 문자열 (모든 루프 반복)의 유효성을 검사해야합니다.단계별 일치 방법
문자열의 마지막 유효한 형식과 일치하는 패턴을 만들었습니다.
문자열의 모든 부분 문자열 (부분 순서이지만 올바른 순서로)을 어떻게 검증 할 수 있습니까?
$pattern = "#\{/?MYTAG(\d*)?\}#i"
$myString = ''
while (true) {
$myString .= $aChar;
// { => valid
// {m => valid
// {my => valid
// {myz => invalid break the loop
if (preg_match($pattern, $myString)) {
}
}
문자를 선택적으로 만들기 위해 ?
을 수정하려고했습니다. 하지만 부분 문자열과 일치합니다 :
// {mysdf
// it matches {my
// I want to return false, not get the valid part of the string
이 정보가 도움이되기를 바랍니다.
아마도 당신은 다음과 같은 것을 찾고있을 것입니다 :'while (preg_match ($ pattern, $ myString)) {' – arkascha
@arkascha 내 패턴은 문자열의 마지막 형태와 만 일치하기 때문에 작동하지 않습니다. 즉, 일치하는 경우에만 일치 – giannisf
PHP 정규 표현식은 퍼지/부분 일치를 지원하지 않습니다. 다른 방법을 찾아야합니다. * (예 : 닫는 중괄호를 기다렸다가 패턴을 테스트 할 수 있습니다) * –