I는 다음과 같습니다 문자열이 : 난 그냥 "실험실 JL"jl.lab.test.net "를 추출하기 위해 노력하고있어바로 PHP는 정규식 정량을 얻이 수없는 것
msg": "log domain jl.lab.test.net server lab-jl-ppr-web"
을 실험실 JL-PPR-웹 "에서"-ppr : 실험실 JL-PPR-웹 "문자열"다음과 같은 정규 표현식을 사용
는preg_match("/\"msg\"\: \"log domain\s([\w*\.]*) server ([\w*\.\-]*)/i",$line,$matches);
두 번째 그룹은 현재 전체 일치 ". 적절한 수량을 지정하려고했지만 지금까지 제대로 된 수량을 얻지 못했습니다. 나는 다음을 시도했다 :
preg_match("/\"msg\"\: \"log domain\s([\w*\.]*) server ([\w*\.\-]*){3}/i",$line,$matches);
내가 계속 놀고 있지만 팁이 있다면, 고맙겠습니다. 감사합니다. .
몇 가지 예, 당신의 예상 최종 출력, 현재는 혼란하게 사용하는 문구를 포함하도록 질문을 업데이트하십시오. – cmorrissey
'[]'는 하나의 문자와 일치하고'[] {3}'은 연속적으로 지정된 문자 3 개와 일치합니다. 그것은 3 문자의 3 SETS와 일치하지 않을 것입니다. –