파이썬에 문제가있어 예상치 못한 결과가 있습니다. 다음은 샘플 코드입니다.[: numeric :]이있는 Python 정규 표현식
number = re.search(" [0-9] ", "test test2 test_ 2 333")
print number.groups()
number = re.search(" [[:digit:]] ", "test test2 test_ 2 333")
print number.groups()
첫 번째 블록에서 객체가 반환되지만 아무 것도 반환되지 않습니다. 내가 "2"문자열을 가져야한다고 생각하는 곳.
두 번째 블록에서 나는 심지어 객체를 얻지 못한다. 여기서 나는 expection 문자열 "2"를 얻는다.
내가 bash는 모든 일에이 작업을 수행 할 때 잘 보이지만 :
echo "test test2 test_ 2 333" | grep " [[:digit:]] "
echo "test test2 test_ 2 333" | grep " [0-9] "
누군가가 나를 도울 수주십시오?
완벽하게 작동합니다. 그리고 기다리고있는 동안 나는 계속 작업을하고 잘 작동하는 "re.finditer"를 발견했습니다. 그런데, 나는 POSIX 문자 클래스가 파이썬에서 지원되지 않는다는 것을 깨달았습니다. – jdcaron
당신은 나머지를 이해하기 때문에 다행! 다른 대답은 훨씬 더 포괄적입니다. (나는 예기치 않게 끌어 당기고 정교하게 만들 기회를 얻지 못했다.) – bernie
실제로 더 중대한 선을 받으려면 대신 Laurence Gonsalves의 대답을 받아 들일 것을 요청할 것입니다 (그것이 가능하다면) : http : // stackoverflow. com/questions/994178/python-regular-expression-with/994218 # 994218 – bernie