PHP에서 정규 표현식을 사용하여 .X12 파일의 일부 데이터를 구문 분석하려고합니다. 패턴은 대문자 인 FS
과 정확히 13 자의 숫자입니다. PROCUREMENT333RFQ3PO100011EAFS8340015381823PKGFSHALL
PHP에서 정규식이있는 .X12 파일을 구문 분석하여 대문자 'FS'다음에 정확히 13 개의 숫자를 찾으려고합니다.
내가 'FS8340015381823'및 기타 파일에서 13 개 숫자의 다른 변화를 추출해야합니다 : 여기
일부 텍스트의 예입니다.$regex = '/FS[0-9]{13}?/';
preg_match($regex, $x12, $matches);
var_dump($matches);
나도 해봤이 정규식 패턴 : 여기
나를 위해 작동하지 않는 코드$regex = '/FS8340015381823/';
$regex = '/FS\d{13}?/';
내가 예를 들어 문자열을 저장하는 경우의 잘 작동이 정규식의 모든 preg_match()
을 실행하기 전에 $ x12 변수에 위의 값을 추가하지만 내용을로드 할 때 원시 파일에서는 작동하지 않습니다. 화면에 .X12 파일 내용이 echo
일 때, 위 예제처럼 사용했던 정확한 문자열을 볼 수 있습니다. 정규식 /FS/
을 사용하면 'FS'를 찾습니다.
이 regexc 원시 파일 데이터에 작동하지만 'FS'후 단지 숫자없는 일치를 반환
$regex = '/FS.{13}?/';
내 컴퓨터에 단말기가 표시되지 않는 이상한 문자가있을 수 있습니다 ? 저는 Amazon EC2에서 Linux CentOS를 실행하고 있습니다.
? 귀하의 정규식에서 ... 이것은 경기를 선택적으로 만듭니다. – Orangepill
헥스 에디터로 확인해 보았습니다. 그렇게하면 야생 문자를 감독하지 않을 것입니다. BTW '/ FS. {13}/s'의 결과는 무엇입니까? – HamZa
_ "내 컴퓨터의 터미널이 표시되지 않는 이상한 문자가있을 수 있습니까?"_ => 좋아하는 16 진수 편집기에서 엽니 다. – Wrikken