2016-06-29 4 views
-2

일치하는 다음 정규 표현식을 사용한다고 가정 할 때 논리적으로 정규 표현식은 접두어 foo:과 일치하며 으로 끝나는 모든 내용은 공백이 아닌으로 끝납니다. 일치 그룹은 접두어 제외 부분 일 것입니다. fooPython 2.7 정규 표현식 일치 문제

제 질문은 정확히 을 의미합니다.은 Python 2.7에 포함됩니까? 모든 ASCII 또는? 누구나 일부 문서를 공유 할 수 있다면 좋을 것입니다. 감사. 사전에

a = re.compile('foo:([^ ]+)') 

덕분에,

+1

당신이 쓴 것을 정확하게 의미합니다 : ** 아무 것도 ** ** ** 공간이 아닙니다. – Maroun

+0

@MarounMaroun, 답장을 보내 주셔서 감사합니다. 내 질문은 실제로 ** 무엇인가 ** 여기에 ** Python 2.7의 ** Anything **에 대한 문자 테이블이 있습니까? –

답변

1

모든 문자와 일치하는 정규식 메타 문자는 . (점)입니다.

a = re.compile('foo:(.+)') 

문자 클래스 [^ ]는 대괄호 사이의 문자 (이 예에서는 문자 그대로의 공간) 중 하나가 아닌 한 문자와 일치합니다. 한정 기호 +은 이전 표현식의 하나 이상의 반복을 지정합니다.

+0

감사합니다. 삼인조, 투표하십시오. 내가 게시 한 정규 표현식은 공백이 아닌 어떤 것과도 일치 할 것이며, 나의 질문은 ** ** 아무것도 ** 무엇을 의미하는지에 관한 것입니다. ** ** Python 2.7'str' 등으로 표현되는 한 아무 것도 ** 어떤 문자, UTF-8, 유니 코드, 공백, 인쇄 할 수없는 문자가 될 수 있습니까? ** ** 무엇이 ** 정확히 의미하는지 정의가 있습니까? –

+1

반복 :'.'는 한 문자 (현대의 파이썬에서는 유니 코드 문자)와 일치하고'[^]'는 공백을 제외한 한 문자와 일치합니다. 반복은 동일한 표현식의 가능한 한 많은 일치 항목을 찾습니다. – tripleee

+0

감사합니다. 3 인승으로 투표하고 답장으로 답장을 표시하십시오. –

2

시도 :

S 공백하지만 아무것도 의미 \
a = re.compile('foo:\S*') 

.

나는 http://pythex.org을 확인하시기 바랍니다. 정규 표현을 시험해보기에 좋으며 괜찮은 치트 시트가 있습니다.

UPDATE : (.) ​​

아무것도 아무것도, 모든 유니 코드/UTF-8 문자와 일치합니다.

+0

부기 하트, 답변 해 주셔서 감사합니다. 내 질문은 실제로 ** 무엇인가 ** 여기에 ** Python 2.7의 ** Anything **에 대한 문자 테이블이 있습니까? –

+0

링크 된 사이트의 속임수 시트에도 그 내용이 있습니다. – tripleee

+1

나는 99 % 확신한다, 무엇이든 의미한다. 문자 테이블이 필요하지 않습니다. 나는 'anything'과 일치하지 않는 문자로 전혀 문제가 없었습니다 – Vaelor