반응형
점과 일치하는 정규 배열
"blah blah blah test.this@gmail.com blah blah"의 "test.this"와 일치하는 가장 좋은 방법이 무엇인지 궁금하십니까? Python 사용.
난 노력 했어 re.split(r"\b\w.\w@")
감사합니다!
.
정규식의 A 는 메타 문자이며 모든 문자를 일치시키는 데 사용됩니다. 리터럴 점과 일치하는 이스케이프해야합니다.\.
당신에 regex
당신은 탈출 할 필요가 dot(.) - "\."
또는 내부에 사용 character class - "[.]"
이 모든 문자와 일치하는 정규 서식에서 메타 문자는 그대로입니다.
또한 하나 이상의 단어를 일치 여부시키는 \w+
대신 필요 합니다 \w
.
이제 test.this
콘텐츠 를 split
필요한 것이 아닙니다. split
문자열을 test.this
. 예 :-
>>> re.split(r"\b\w+\.\w+@", s)
['blah blah blah ', 'gmail.com blah blah']
다음을 사용할 수 있습니다 .-re.findall
>>> re.findall(r'\w+[.]\w+(?=@)', s) # look ahead
['test.this']
>>> re.findall(r'(\w+[.]\w+)@', s) # capture group
['test.this']
"기본 모드에서 Dot (.)은 줄 바꿈을 사용하는 모든 문자와 일치합니다. DOTALL 플래그가 지정되어 있으면 줄 바꿈을 포함하여 모든 문자와 일치합니다." (파이썬 문서)
따라서 점 문자를 평가하려는 경우 대괄호 안에 야 생각합니다.
>>> p = re.compile(r'\b(\w+[.]\w+)')
>>> resp = p.search("blah blah blah test.this@gmail.com blah blah")
>>> resp.group()
'test.this'
자바에서는에서는 \를 사용합니다. 점과 일치합니다.
예
"blah.tests.zibri.org".match('test\\..*')
null
과
"blah.test.zibri.org".match('test\\..*')
["test.zibri.org", index: 5, input: "blah.test.zibri.org", groups: undefined]
참고 URL : https://stackoverflow.com/questions/13989640/regular-expression-to-match-a-dot
반응형
'ProgramingTip' 카테고리의 다른 글
업데이트에서 T-SQL 꾸미기 (0) | 2020.10.16 |
---|---|
Eclipse 작업 공간에서 이동 검색 (0) | 2020.10.16 |
람다 내부에서 지역 변수 수정 (0) | 2020.10.16 |
(Retrofit) 클래스 충돌 앱에 대한 변환기를 수 없습니다. (0) | 2020.10.16 |
Android Studio- 프로젝트 평가 리스너 오류를 알리지. (0) | 2020.10.16 |