"3 2"는 "9"와 "8"로 시작하기 때문에 "one two 9three 52eight four"이라는 문자열이 있으므로 " 52 ".단어가 숫자로 시작하지 않습니다
"(?!\d)\w+"
을하지만 여전히 "세"와 "팔"을 복용 :
나는 시도했다. 나는 그것을 원하지 않는다. 나를 위해"3 2"는 "9"와 "8"로 시작하기 때문에 "one two 9three 52eight four"이라는 문자열이 있으므로 " 52 ".단어가 숫자로 시작하지 않습니다
"(?!\d)\w+"
을하지만 여전히 "세"와 "팔"을 복용 :
나는 시도했다. 나는 그것을 원하지 않는다. 나를 위해이 과잉 될 수
\b[a-zA-Z]\w*
작품 미세 :
import re
l = "one two 9three 52eight four".split()
c = re.compile("(?!\d)\w+")
m = [w for w in l if re.match(c, w)]
print m
인쇄 :
['one', 'two', 'four']
\w
이 수를 포함하기 때문에입니다. 당신이해야 할 것은 : 당신이 (?!...)
를 사용하는 것은 부정적인 모습 미리 이른바 또한
>>> s = "one two 9three 52eight four"
>>> import re
>>> re.findall(r'\b[a-z]+\b', s, re.I)
['one', 'two', 'four']
, 당신은 아마 의미 동안보기 숨김 (?<!...)
물론 여전히 때문에 상기의 실패하는 부정적 발행물.
ETA는 :
>>> re.findall(r'\b(?!\d)\w+', s)
['one', 'two', 'four']
정규 표현식을보십시오 : 당신은 단지 하나의 단어 경계를해야합니다.
In [3]: [word for word in eg.split(' ') if not word[0].isdigit()]
Out[3]: ['one', 'two', 'four']
고마워요. 이건 작동 중입니다. – pocoa
이것은 분명히 맞는 대답입니다. +1은 소문자와 대문자 모두를 포함합니다. – ant
@ c0mrade : 답은 무엇입니까? – SilentGhost