반응형
python's re: 문자열에 정규식 패턴이 포함된 경우 True 반환
나는 다음과 같은 정규 표현을 가지고 있습니다.
regexp = u'ba[r|z|d]'
단어에 bar, baz 또는 bad가 포함된 경우 함수는 True를 반환해야 합니다.간단히 말해서, 파이썬의 regexp 아날로그가 필요합니다.
'any-string' in 'text'
어떻게 깨달을 수 있을까요?감사합니다!
import re
word = 'fubar'
regexp = re.compile(r'ba[rzd]')
if regexp.search(word):
print('matched')
지금까지 가장 좋은 것은.
bool(re.search('ba[rzd]', 'foobarrrr'))
True 반환
Match
물체는 항상 진실이고,None
일치하는 항목이 없으면 반환됩니다.그냥 진실성을 시험해 보세요.
코드:
>>> st = 'bar'
>>> m = re.match(r"ba[r|z|d]",st)
>>> if m:
... m.group(0)
...
'bar'
출력 =bar
네가 원한다면search
기능성
>>> st = "bar"
>>> m = re.search(r"ba[r|z|d]",st)
>>> if m is not None:
... m.group(0)
...
'bar'
그리고 만약에regexp
다음과 같은
>>> st = "hello"
>>> m = re.search(r"ba[r|z|d]",st)
>>> if m:
... m.group(0)
... else:
... print "no match"
...
no match
@bukzor가 언급했듯이 if st =foo bar
일치하지 않을 것입니다.그래서, 사용하는 것이 더 적절합니다.re.search
.
사용자가 원하는 작업을 수행하는 기능은 다음과 같습니다.
import re
def is_match(regex, text):
pattern = re.compile(regex)
return pattern.search(text) is not None
정규식 검색 방법은 성공하면 개체를 반환하고 문자열에 패턴이 없으면 없음을 반환합니다.이를 염두에 두고 검색에서 반환되는 항목이 있는 한 True를 반환합니다.
예:
>>> is_match('ba[rzd]', 'foobar')
True
>>> is_match('ba[zrd]', 'foobaz')
True
>>> is_match('ba[zrd]', 'foobad')
True
>>> is_match('ba[zrd]', 'foobam')
False
다음과 같은 작업을 수행할 수 있습니다.
검색을 사용하면 검색 문자열과 일치하는 경우 SRE_match 개체가 반환됩니다.
>>> import re
>>> m = re.search(u'ba[r|z|d]', 'bar')
>>> m
<_sre.SRE_Match object at 0x02027288>
>>> m.group()
'bar'
>>> n = re.search(u'ba[r|z|d]', 'bas')
>>> n.group()
그렇지 않으면 없음을 반환합니다.
Traceback (most recent call last):
File "<pyshell#17>", line 1, in <module>
n.group()
AttributeError: 'NoneType' object has no attribute 'group'
다시 한 번 시연하기 위해 인쇄합니다.
>>> print n
None
언급URL : https://stackoverflow.com/questions/9012008/pythons-re-return-true-if-string-contains-regex-pattern
반응형
'sourcetip' 카테고리의 다른 글
Mongodb에서 두 데이터베이스 간에 $lookup 집계가 가능합니까? (0) | 2023.07.17 |
---|---|
for 루프의 Python 루프 카운터 (0) | 2023.07.17 |
MongoDB 서버를 서비스로 실행하시겠습니까(터미널에서 분리)? (0) | 2023.07.17 |
Oracle 열 데이터 크기 가져오기 (0) | 2023.07.17 |
셀의 값이 다른 열의 값과 같으면 조건부로 셀 형식 지정 (0) | 2023.07.17 |