에 내가 일치하도록 노력하고는 '-'내부 [..] 나는 것을 확인하는 방법을 잘 모르겠습니다, 파이썬에서 정규 표현식을 사용하지만, 블록 '-'는 해당 블록의 범위를 나타 내기 때문에 발생합니다.방법에 맞게 '-'문자 그대로 내부 [..] 정규 표현식
편집 : 내 실패 정규식 :
이regex = re.compile("^[0-9+-*/]+$")
에 내가 일치하도록 노력하고는 '-'내부 [..] 나는 것을 확인하는 방법을 잘 모르겠습니다, 파이썬에서 정규 표현식을 사용하지만, 블록 '-'는 해당 블록의 범위를 나타 내기 때문에 발생합니다.방법에 맞게 '-'문자 그대로 내부 [..] 정규 표현식
편집 : 내 실패 정규식 :
이regex = re.compile("^[0-9+-*/]+$")
: 당신은, 세트 내부 ']'
또는 '-'
을 포함 앞에 역 슬래시를, 또는 첫 번째 문자로 배치 할 경우
.
그냥 []
(문자 클래스)의 시작 부분에 배치 :
regex = re.compile("^[-0-9+*/]+$")
가 왜 작동합니까?
하이픈을 문자 클래스의 시작 부분에 배치 할 때 대부분의 정규식 엔진은 문자없이 하이픈을 의미 할만큼 충분히 지능적입니다 (처음부터 범위를 나타낼 수 없기 때문에). the docs에서
당신의 텍스트는 세트의 시작에 하이픈을 넣어라고하지만 예는 마지막에 넣습니다. 두 스타일이 작동하는 것처럼하지만, 문서는 시작을 언급 이후로는 마지막에 넣어 피할 것이다. –
잘자요. 원래는 시작과 끝을 모두 언급하는 내 대답을 썼다, 그러나 나는 문서를 두 번 확인하면 나는 그것을 편집. 이를 반영하기 위해 예제를 편집하는 것을 잊었습니다. 감사! –
@ Jared Ng 감사합니다 :) – yasar