2012-12-30 5 views
0

단어가있는 텍스트 파일이 있습니다. 단어가 5 자이고 첫 번째 문자가 a이고 마지막 문자가 s이면 해당 패턴 다음의 모든 단어와 일치 시키려합니다.은 처음부터 끝까지 문자가 알려진 문자 수와 일치합니다.

^a.???.s$ 

이 올바른 정규식이 어떻게 될지

어떤 아이디어는 (i ++ 메모장에서 테스트거야)

를 작동하지 않는 것?

미리 감사드립니다. 당신은 모든 항목을 일치 시키려면

^a...s$ // . means, match any character 

답변

1

난 당신이 찾고있는 생각 비 라틴 문자의 경우 :

/\ba\S{3}s\b/ 
+0

감사합니다. 작동하지 않는 것 같습니다. 왜 내가 전에는 점이 있지만 이후에는 이해할 수 없습니다. – MIrrorMirror

+0

@MIrrorMirror 왜 점 뒤에 오는 것이 좋을까요? 귀하의 추론을 이해하도록 도와 주시면 귀하를 위해 자세히 설명하려고 노력하겠습니다. –

+0

아마 내가 정규 표현식에서 초보자이기 때문일 수 있습니다. 나는 논리가 firstchar이어야한다고 생각. {number_of_inbetween}. lastchar 어디서. "concat"역할을합니다. – MIrrorMirror

2

당신이 수행해야합니다 :

/\ba[a-z]{3}s\b/ 

로 기본적으로 동일

^a.{3}s$ // .{3} means, match any character exactly 3 times. 

:

+0

그래, 실제로 훨씬 강력합니다. 나는 조잡했다. –

+0

감사합니다. 나는 그 단어가 라틴 문자로되어 있지 않기 때문에 그 단어가 잘 작동하지 않는다는 것을 전혀 모릅니다. – MIrrorMirror

+0

비 라틴 문자에 대한 옵션을 추가했습니다. '\ b'은 단어 묶기이므로 앞뒤로 공백이 될 수 있습니다. '\ S'는 스페이스/뉴 라인 등이 아닌 모든 것을 의미합니다. –

관련 문제