등록 플레이트와 같은 문자열의 형식을 확인하고 싶지만 어디서부터 시작해야할지 모르겠습니다.파이썬에서 문자열의 형식을 확인하는 방법은 무엇입니까?
문자열이 'LLNN LLL'형식을 따르는 지 여부를 프로그램이 감지하도록합니다. 여기서 L은 문자이고 N은 숫자입니다.
문자열의 형식을 검사하는 것과 관련하여 여러 가지 다른 질문이 있지만 다른 프로그래밍 언어의 경우 어디에 있는지 살펴 보았습니다.
등록 플레이트와 같은 문자열의 형식을 확인하고 싶지만 어디서부터 시작해야할지 모르겠습니다.파이썬에서 문자열의 형식을 확인하는 방법은 무엇입니까?
문자열이 'LLNN LLL'형식을 따르는 지 여부를 프로그램이 감지하도록합니다. 여기서 L은 문자이고 N은 숫자입니다.
문자열의 형식을 검사하는 것과 관련하여 여러 가지 다른 질문이 있지만 다른 프로그래밍 언어의 경우 어디에 있는지 살펴 보았습니다.
이와 같은 패턴 일치는 정규 표현식으로 해결됩니다.
정규 표현식 – 또는 정규식 – 다른 문자열에 사용할 수있는 검색 패턴을 정의하는 문자열입니다.
파이썬에서는 the re
module으로 덮어 씁니다. 일례로서
다음의 용도 놓 매칭 c
다음 어느a
또는 b
, []
를 검색한다. 첫 번째 경우에는 과 일치하지 않으므로 None
을 반환합니다. 두 번째 경우에는 z
과 x
사이에 bc
이라는 일치 항목이 하나 있습니다. 따라서 if
문에서 True
으로 평가됩니다.
matches_none = re.search('[ab]c', 'cc')
matches_once = re.search('[ab]c', 'qqqzzzbcxxx')
파이썬 docs 상태에는 세트 나 특정 조건과 일치하는 특정 특수 시퀀스가 있습니다. 예를 들어 \d
은 임의의 숫자와 일치하며 \w
은 영숫자와 일치합니다. 다음은 모두 일치하는 항목을 찾습니다.
re.search('\w\d', '!!!54???')
re.search('\d\w', '[email protected]#[ff')
re.search('[abc]\d\w', 'a5a')
일치하는 그룹, lookaheads, 시작 - 최종의 문자열 일치, 그리고 수와 다양성을 처리하는 여러 가지 방법을 선택하는 기능을 포함하여 정규 표현식의 다른 기능의 전체 호스트가있다.
나는 아직도 내 코드에 그와 같은 것을 통합하는 법을 이해하지 못한다 ... – TheOneWhoLikesToKnow
나는 당신이 당신은 항상 정규식으로 보면, 스스로를 코딩 할 수 있습니다
In [1]: import re
In [2]: temp = 'LL22 LLL'
In [3]: re.findall(r'[a-zA-Z][a-zA-Z]\d\d [a-zA-Z]+',temp)
Out[3]: ['LL22 LLL']
regexps가 무엇인지에 대한 설명은 어떤 설명도없이 문제를 해결하는 코드 스 니펫보다 도움이되었을 것이다. –
@ brunodesthuilliers 이미 첫 번째 대답은 정규 표현식에 대한 설명이었습니다. 어떤 것에 대답하는 것은 말이되지 않습니다. 따라서 문제에 대한 해결책을 작성했습니다. –
그러면 첫 번째 답변에 주석으로 게시했을 수 있습니다. –
찾고있는이 무엇을 생각합니다. –
이것은 정규식 작업입니다. [regex howto] (https://docs.python.org/3/howto/regex.html)를 참조하십시오. –