2011-01-05 4 views
-1

[a-zA-Z_] 다음에 . (점), 다시 [a-zA-Z_] 일 수있는 이름을 인식하려면 정규식이 필요합니다. I ([a-zA-Z_]+) \.([a-zA-Z_]*)하지만 작동하지 않습니다. 도와 줘? JFlex에서 아무도 나를 도와 줄 수 없습니까?정규식 이름 문제에 대한

+0

당신은 리터럴 점 또는 점 메타 문자 (새 행 이외의 다른 점과 일치 함)를 언급하고 있습니까? – 3lectrologos

+0

마지막으로 편집 한 내용은 ** 코드 형식으로 만 ** 이었지만 백 슬래시는 표시되었지만 보이지는 않았습니다. (비록 편집이 * 백 슬래시를 추가 한 것처럼 보입니다. 그게 아닙니다! 솔직히 !!) –

+5

"작동하지 않음"이란 무엇을 의미합니까? 정규식 컴파일 오류가 발생합니까? 일치해야하는 항목과 일치하지 않거나 일치하면 안되는 항목과 일치합니까? –

답변

1

점을 이스케이프하고 공백을 제거하여 regexp를 변경합니다.

([a-zA-Z_]+)\.([a-zA-Z_]*)

추가 제안 (드롭) 및 임시 식별자

를 사용하는

편집 : 정규 표현식

당신은 점 탈출 할 필요가
+0

[regex 답변에 자세한 설명이 포함될 수 있습니까?] (http://meta.stackexchange.com/questions/73553/can-regex-answers-include-more-detail-in-explanation) – delnan

+0

죄송합니다, thanks :) –

+3

그것이 작동하더라도 : (1) 설명없이 간단한 정규 표현식을 올리거나 * (* 2) 코드로 그 한 줄을 포매팅하지 않는 downvote. 그러나 나는 투표를 바꿀 수있다;) –

2

주석으로 명성을 증가 : ". \"를 그렇지 않으면 정규식 파서가이를 "임의의 char"기호로 취급합니다.

- 편집 - 이제 우리는 도트 ​​탈출 것을 알고 있으므로 하지 진짜 문제 : 점 의도적되기 전에 확인이 공간이 있습니까?

+0

(도망 쳤다 - 코드 서식을 appye하자마자 백 슬래쉬가 나타나 자마자) –

+0

@Andreas_D : 음 ... 네 말이 맞다. OP가 더 많은 정보를 제공해야한다고 생각합니다. –

+0

이 패턴을 원본 코드에서 복사하여 붙여 넣으면 '\.'앞의 공백이 실제 표시 스토퍼 –