2013-06-02 1 views
3

우리는 (마지막에 새로운 라인이없는)이 문자열을 가지고있다.

  • 나는 첫째로 시도했다 : [\n$] - didnt work.
  • 그럼 내가 (\n|$) 시도 -

질문을 작동했다 : 왜 나던 [\n$] 일치하는 문자열을 (\n|$)가하는 동안? 문자 클래스는 정확히 하나의 문자와 일치 : 문자 클래스에서 $가 보는 리터럴

+1

당신은'm' ("멀티 라인") 정규식에 대한 수정 후'$를 사용하는 경우 '중 하나를 나타냅니다 string의 실제 끝이 아니라 문자열의 끝 부분. 그래서 당신은'\ n'을 전혀 지정할 필요가 없습니다. – Spudley

+0

사실, 전체 행을 매치시키기 위해서'^. *'만하면됩니다. –

+0

"새 줄까지 전체 문자열을 일치시키고 싶습니다."... 전체 줄이 아닌가? :) –

답변

12

. $과 일치하는 행의 끝은 빈 문자열입니다. 그것이 문자 클래스에 의해 매치 될 수없는 이유입니다.

는 (결과적으로, $에 대한 유일하게 가능한 해석은 문자 그대로입니다.)

+0

짧고 요점 (그리고 가장 중요하게는, 정확함). +1 –

+0

+1. 첫 번째 멋진 답변 배지 : –

+0

@ 잭 : 쿨! 고마워요! –

1

또 다른 방법으로 간주되기 때문에