2013-09-25 5 views
0

하나의 명령문에서 문자열 내에서 일부 단어를 검색해야합니다. 누구든지 파이썬으로 그렇게 할 수 있습니까?파이썬에서 문자열 내에서 검색 할 여러 문자열

예 : - 검색 할 단어는 abc, abd, adb, mm, nn입니다. 문자열을 검색 할 : 단어의 더 그렇지 않으면 일치하는 경우

search(abc, abd, adb, mm, nn, "aaassgshshhshsjskslskhalhslkhslkhsshalkjlkjmmmmabcabd") 

및 출력이 예해야합니다 :

aaassgshshhshsjskslskhalhslkhslkhsshalkjlkjmmmmabcabd 

나는 이런 식으로 뭔가를 할 수 있습니다.

답변

5

현재 정규식이 필요하지 않습니다, any() 사용

>>> s = "aaassgshshhshsjskslskhalhslkhslkhsshalkjlkjmmmmabcabd" 
>>> l = ['abc', 'abd', 'adb', 'mm', 'nn'] 
>>> any(i in s for i in l) 
True 

그냥 참고로, 정규식 aproach : 정규식 접근 방식은 문자열을 통해 하나의 패스를 할 것

>>> import re 
>>> s = "aaassgshshhshsjskslskhalhslkhslkhsshalkjlkjmmmmabcabd" 
>>> pattern = "abc|abd|adb|mn|nn" 
>>> re.search(pattern, s) 
<_sre.SRE_Match object at 0xb7088138> 
+1

주, 그래서 아마 더 좋습니다. – Veedrac

관련 문제