구조화되지 않은 문자열에서 오류 부분 코드 추출안녕,
JSL의 Regex를 사용하여 아래 구조화되지 않은 문자열에서 오류 부분 코드를 추출하고 싶습니다. 하지만 복잡해서 구하는데 성공하지 못했습니다.
T126 및 PA21을 수리합니다. 재시험 통과
재테스트를 위해 L6C, FTNG4 경로 변경
테스트 1 실패 부분 P12; M531, Z6A2. 테스트 2 실패 부분 Z100, RT98; BTGH9. 모든 부품을 재작업하세요
고장난 부품 교체(K3; LG69; AK4T). 다음 테스트로 진행
손상된 부품 YT10 부품 재작업, 다음 공정 진행
"고장 부품 코드" 열의 필수 결과는 다음과 같아야 합니다.

어떤 조언이나 도움이라도 주시면 감사하겠습니다.
감사합니다
자동화 및 스크립팅Re: 구조화되지 않은 문자열에서 오류 부분 코드를 추출합니다.JMP에서는 전역 일치 가능성이 없기 때문에 단일 정규식으로 여러 항목을 캡처하는 것이 그렇게 간단하지 않습니다(
이 매우 간단한 정규식은 첫 번째 코드를 캡처합니다.
Names Default To Here(1);
dt = Open("$DOWNLOADS/data1.jmp");
failure_pattern = "[A-Z]+\d+[A-Z]?";
Eval(EvalExpr(
dt << New Column("A", Character, Nominal, << Formula(
Regex(:Repair Details, Expr(failure_pattern));
));
));
그런 다음 패턴 일치가 엉망이 됩니다. (아마도 훨씬 더 나아질 수 있습니다)
Names Default To Here(1);
dt = Open("$DOWNLOADS/data1.jmp");
str = "failure parts replaced (K3; LG69; AK4T). Proceed to next test";
dt << New Column("A", Character, Nominal, << Formula(
failure_pattern = "([A-Z]+\d+[A-Z]?){1,}";
found_list = {};
Pat Match(:Repair Details,
Pat Any(", (") + Pat Regex(failure_pattern) >> match + Pat Any(" .;,)") + Pat Test(
Insert Into(found_list, match);
0
)
);
Concat Items(found_list, ", ");
)); Re: 구조화되지 않은 문자열에서 오류 부분 코드를 추출합니다.저는 최근에 이 문제를 매우 쉽게 처리할 수 있는 JMP 기능/옵션을 발견했습니다.텍스트 일치를 통한 새 열.
이 스크립트를 시도하거나 복구 세부 정보 열을 선택한 상태에서 Cols->Utilities 아래의 유틸리티를 사용하십시오.
New Column by Text Matching(
Column( :Repair Details ),
Set Regex( Custom( Title( "parts" ), Regex( "([A-Z]+\d+[A-Z]?)" ), Result( "\[\1]\" ), ) ),
Output Column Name( "Failure Part Code" )
);

Re: 구조화되지 않은 문자열에서 오류 부분 코드를 추출합니다.Jarmo님, 감사합니다. 정말 좋아요!
Re: 구조화되지 않은 문자열에서 오류 부분 코드를 추출합니다.이 기능을 공유해 주셔서 감사합니다." 텍스트 일치를 통한 새 열 ". 도움이 됩니다.