2014-04-03 2 views
0

파이썬에서 논리 표현식 또는 정규식 표현 방법은 무엇입니까? 왜 re.search("o"|"a","hallo")re.search(("o"|"a"),"hallo")이 잘못 되었습니까?어떻게 논리적으로 표현하거나 파이썬에서 정규식으로 표현할 수 있습니까?

""
re.search(r"(o|a)","hallo") 

전체 패턴을 포함한다 :

>>> if(re.search("a","hallo")):print("ok") 
... 
ok 
>>> if(re.search("o","hallo")):print("ok") 
... 
ok 
>>> if(re.search("o"|"a","hallo")):print("ok") 
... 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
TypeError: unsupported operand type(s) for |: 'str' and 'str' 
>>> if(re.search(("o"|"a"),"hallo")):print("ok") 
... 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
TypeError: unsupported operand type(s) for |: 'str' and 'str' 
+0

당신은 reeaally 파이썬 구문 문제의 더 많은 데있어,하지만 난 * 정규식에 대한 이야기 ​​* 당신을 생각 ... :

당신도 할 수 –

답변

2

대신으로해야한다.

re.search(r"[oa]","hallo") 
관련 문제