반응형
문자열이 패턴과 일치하는지 확인
문자열이이 패턴과 일치하는지 어떻게 확인합니까?
대문자, 숫자, 대문자, 숫자 ...
예를 들면 다음과 일치합니다.
A1B2
B10L1
C1N200J1
이것들은 그렇지 않습니다 ( '^'는 문제를 지적합니다)
a1B2
^
A10B
^
AB400
^
import re
pattern = re.compile("^([A-Z][0-9]+)+$")
pattern.match(string)
편집 : 주석에서 언급했듯이 match
문자열의 시작 부분에서만 일치하는 항목 만 확인하고 문자열의 re.search()
어느 곳에서나 패턴과 일치합니다. ( https://docs.python.org/library/re.html#search-vs-match 참조 )
짧막 한 농담: re.match(r"pattern", string) # No need to compile
import re
>>> if re.match(r"hello[0-9]+", 'hello1'):
... print('Yes')
...
Yes
bool
필요에 따라 평가할 수 있습니다
>>> bool(re.match(r"hello[0-9]+", 'hello1'))
True
다음을 시도하십시오 :
import re
name = ["A1B1", "djdd", "B2C4", "C2H2", "jdoi","1A4V"]
# Match names.
for element in name:
m = re.match("(^[A-Z]\d[A-Z]\d)", element)
if m:
print(m.groups())
import re
import sys
prog = re.compile('([A-Z]\d+)+')
while True:
line = sys.stdin.readline()
if not line: break
if prog.match(line):
print 'matched'
else:
print 'not matched'
정규 표현식은 이것을 쉽게 만듭니다 ...
[A-Z]
A와 Z 사이의 정확히 하나의 문자와 일치합니다
\d+
하나 이상의 숫자와 일치합니다
()
물건을 그룹화 (그리고 물건을 반환하지만 지금은 그룹화를 생각하십시오)
+
1 이상을 선택
import re
ab = re.compile("^([A-Z]{1}[0-9]{1})+$")
ab.match(string)
대문자, 숫자 패턴으로 작동해야한다고 생각합니다 .
참고 URL : https://stackoverflow.com/questions/12595051/check-if-string-matches-pattern
반응형
'Programing' 카테고리의 다른 글
jQuery로 키 누르기 이벤트를 트리거하는 확실한 방법 (0) | 2020.04.04 |
---|---|
django queryset에서 OR 조건을 수행하는 방법은 무엇입니까? (0) | 2020.04.04 |
Visual Studio Code의 여러 인스턴스를 열려면 어떻게합니까? (0) | 2020.04.03 |
setBackground vs setBackgroundDrawable (Android) (0) | 2020.04.03 |
"확장 구성으로 인해 요청한 페이지를 제공 할 수 없습니다." (0) | 2020.04.03 |