찾다
  • 로그인
  • 가입
비밀번호 재설정 성공

당신이 관심을 갖고 있는 프로젝트를 팔로우하고 그들에 관한 최신 뉴스를 맛보세요

문자 집합

좋아요, 위의 예를 통해 우리는 Python의 정규식에 대한 예비적인 이해를 얻었습니다. 정규식의 규칙은 무엇이며 문자는 무엇을 의미합니까?

사실 이에 대해 걱정할 필요가 없습니다. 해당 정규식 규칙 목록은 이 장의 뒷부분에서 제공되며 이러한 내용은 인터넷의 Google에서 쉽게 찾을 수 있습니다. 그럼 이제 정규식에 대한 이해를 더욱 심화시키고, 정규식의 문자 집합에 대해 알아보겠습니다.

문자 집합은 대괄호 "[]" 쌍으로 묶인 문자 집합입니다. 문자 세트를 사용하면 여러 문자 중 하나를 일치시킬 수 있습니다.

예를 들어 C[ET]O를 사용하여 CEO 또는 CTO를 일치시키는 경우, 즉 [ET]는 E 또는 T를 나타냅니다. 위에서 언급한 [a-z]와 마찬가지로 모든 소문자 중 하나입니다. 여기서는 하이픈 "-"을 사용하여 연속된 문자의 문자 범위를 정의합니다. 물론 이와 같이 작성하면 단일 16진수와 일치하며 대소문자를 구분하지 않는 [0-9a-fA-F]와 같은 여러 문자 범위가 포함될 수 있습니다. 문자 및 범위 정의의 순서는 일치 결과에 영향을 주지 않습니다.

사실 너무 많이 말했지만, 문자 집합에서 대괄호 "[]" 쌍 사이의 문자 관계가 or 관계임을 증명하고 싶습니다. 예를 들어 보겠습니다.

import re
a = 'uav,ubv,ucv,uwv,uzv,ucv,uov'
# 字符集
# 取 u 和 v 中间是 a 或 b 或 c 的字符
findall = re.findall('u[abc]v', a)
print(findall)
# 如果是连续的字母,数字可以使用 - 来代替
l = re.findall('u[a-c]v', a)
print(l)
# 取 u 和 v 中间不是 a 或 b 或 c 的字符
re_findall = re.findall('u[^abc]v', a)
print(re_findall)
输出的结果:
['uav', 'ubv', 'ucv', 'ucv']
['uav', 'ubv', 'ucv', 'ucv']
['uwv', 'uzv', 'uov']

예제에서는 부정 문자 집합이 사용되었습니다. 즉, 왼쪽 대괄호 "[" 뒤에 꺾쇠 괄호 "^"가 오면 문자 집합이 반전됩니다. 한 가지 기억해야 할 점은 부정 문자 집합이 단일 문자와 일치해야 한다는 것입니다. 예를 들어, q[^u]는 u가 따라오지 않고 q와 일치한다는 의미는 아닙니다. 이는 q와 u가 아닌 문자가 뒤따르는 것을 의미합니다. 위 예의 출력 결과를 비교하면 구체적인 내용을 이해할 수 있습니다.

우리 모두는 정규식 자체가 모든 숫자와 일치하는 d와 같은 일부 규칙을 정의한다는 것을 알고 있습니다. 실제로 이는 [0-9]와 동일하며, 이를 a 형식으로 설명합니다. 문자 집합입니다.

import re
a = 'uav_ubv_ucv_uwv_uzv_ucv_uov&123-456-789'
# 概括字符集
# \d 相当于 [0-9] ,匹配所有数字字符
# \D 相当于 [^0-9] , 匹配所有非数字字符
findall1 = re.findall('\d', a)
findall2 = re.findall('[0-9]', a)
findall3 = re.findall('\D', a)
findall4 = re.findall('[^0-9]', a)
print(findall1)
print(findall2)
print(findall3)
print(findall4)
# \w 匹配包括下划线的任何单词字符,等价于 [A-Za-z0-9_]
findall5 = re.findall('\w', a)
findall6 = re.findall('[A-Za-z0-9_]', a)
print(findall5)
print(findall6)

출력 결과:

['1', '2', '3', '4', '5', '6', '7', '8', '9']
['1', '2', '3', '4', '5', '6', '7', '8', '9']
['u', 'a', 'v', '_', 'u', 'b', 'v', '_', 'u', 'c', 'v', '_', 'u', 'w', 'v', '_', 'u', 'z', 'v', '_', 'u', 'c', 'v', '_', 'u', 'o', 'v', '&', '-', '-']
['u', 'a', 'v', '_', 'u', 'b', 'v', '_', 'u', 'c', 'v', '_', 'u', 'w', 'v', '_', 'u', 'z', 'v', '_', 'u', 'c', 'v', '_', 'u', 'o', 'v', '&', '-', '-']
['u', 'a', 'v', '_', 'u', 'b', 'v', '_', 'u', 'c', 'v', '_', 'u', 'w', 'v', '_', 'u', 'z', 'v', '_', 'u', 'c', 'v', '_', 'u', 'o', 'v', '1', '2', '3', '4', '5', '6', '7', '8', '9']
['u', 'a', 'v', '_', 'u', 'b', 'v', '_', 'u', 'c', 'v', '_', 'u', 'w', 'v', '_', 'u', 'z', 'v', '_', 'u', 'c', 'v', '_


새로운 파일
시사 Clear
  • 코스 추천
  • 코스웨어 다운로드