내가 정규식에 관해서는 아마추어이고 며칠 전부터 시작했다고 말하는 것으로 서언하겠습니다. 파일 형식을 지정하는 문제를 해결하기 위해 노력 중이며 특정 유형의 데이터로 문제가 발생했습니다. 입력 파일은 다음과 같이 구성되어있다 :정규식 부분 문자열 CSV 일치
Two words,Word,Word,Word,"Number, number"
내가해야 할 것은이 같은 형식 그것이 ...
"Two words","Word",Word","Word","Number, number"
나는 작업
s/,/","/g
의 정규식 패턴이 있었다 단, 이미 따옴표로 묶인 Number, number 섹션의 쉼표를 대체하여 필드를 구분하고 파일을 분리합니다. 필자는 필자의 패턴을 수정하여 쉼표 대신 ","[인용구 쉼표 인용문]을 입력해야하지만 쉼표 뒤에 공백이 오지 않는 경우에만 패턴을 수정해야합니다. 다른 필드는 쉼표 다음에 공백이 없으며 구분 된 번호 목록 만 사용합니다.
나는 적절한 문자열을 맞추어, 쉼표 다음과 같은 편지를 대체 할 것이다,s/,[A-Za-z0-9]/","/g
을 쓸 수 있었다. 나는 역 참조에 대해 듣고 그것을 사용할 필요가 있다고 생각 하는가? 내 이해는
s/(,)[A-Za-z0-9]\b
일해야하지만 작동하지 않아야합니다.
누구나 아이디어가 있으십니까?
나는 CSV 파서를 통해 그것을하고 싶다. 그러나 나는 실제 포맷으로 말할 필요없이이 파일들을 그대로 사용하고있다. 그래서 나는 RegEx를 만지작 거리다. –
s /, (?!)/","/ 감사합니다. Perl을 사용하고 있기 때문에 파일을 보냈을 때 스크립트를 실행할 수 있습니다. Parser에서 열어 저장하고 거기에서 작업하는 것을 저장합니다. 게다가 Perl과 RegEx를 배워서 어쨌든 하나의 돌로 두 마리의 새를 배우고 싶었습니다. 당신의 도움을 주셔서 감사합니다 :). –