아래의 문자열 a를리스트로 분할하는 정규식을 찾으려고합니다. 문자열을 분리하는 확실한 방법을 아직 찾지 못했지만 요청한 주된 이유는 왜 마지막 문자열이 복제되는지 이해할 수 없다는 것입니다. regex101.com에서 온라인으로 테스트 할 때 발생하지 않습니다. 내 이해를 위해 re.split 함수로 인해 데이터를 복제 할 이유가 없어야합니다.파이썬 다시 모듈에서 이상한 동작
코드는 :
import re
a = ['"This is a string", "and this is another with a , in it", Thisisalsovalid, "",,,"And a string"']
b = re.split(r',(?=(".*?"|[\w/-]*|,))', a[0])
for i in b:
print(i)
출력 :
"This is a string"
"and this is another with a
in it"
Thisisalsovalid
""
"And a string"
"And a string"
예상 출력된다 :
"This is a string"
"and this is another with a , in it"
Thisisalsovalid
""
"And a string"
목록 헤더리스트없이 함께 압축 될 색인 문제.
보너스로 문자열에 나타날 때를 제외하고 나는 기꺼이 ','로 나뉘는 정규식을 얻습니다.
(https://regex101.com/r/zR7uR1/1) . 쉼표와 일치하며 짝수 개의 따옴표가옵니다. –
하나의 간단한 대답은 (?!)이지만 실제 데이터의 공간에 대한 보장이 없으므로 오류가 발생하기 쉽습니다. 그리고 여전히, 복제의 이유는 내가 가장 수수께끼 인 것입니다. – Bengt62
이것은 중복이 아닙니다 .OP는 재 반발의 이유를 알고 싶어합니다. 재개를위한 지명. – vks