정규표현식 무시?
조회수 472회
'--option1 "value1" --option2 ""띄어 쓰기"'
{
"option1": "value1",
"option2": "띄어 쓰기"
}
이런식으로 만들어주는 코드가 필요해요..
여기서 문제인 부분은 제가 띄어쓰기 기준으로 split를 하면 "" 안에 띄어쓰기가 있는 부분이 있어서 오류가 나는 경우가 있는데 "" 안에 있는건 무시하고 띄어쓰기 기준으로 split할수 있는 정규표현식 또는 코드가 있을까요?
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
정규식은 regex101.com 사이트에서 실험좀 해보시면 대부분 해결됩니다.
python 코드로 구현해보면 다음과 같겠네요.
import re, pprint text = '--option1 "value1" --option2 "띄어 쓰기"' match_objects = re.compile(r'--(option\d)\s*\"([^\"]+)\"\s*').findall(text) match_dicts = {k:v for k, v in match_objects} pprint.PrettyPrinter(indent=4, width=30).pprint(match_dicts)
그런데.. " "띄어 쓰기" 앞 쪽 쌍따옴표 2개 는 실수하신게 맞겠죠? 일단 "띄어 쓰기"가 의도하신 예제라고 생각했습니다.
댓글 입력