2014-02-20 4 views
0

텍스트를 여러 줄로 일치 시키려고합니다. 내 문제는 줄 바꿈 형식이 다를 수 있습니다 (\ n, \ r \ n 또는 \ r). 현재 (?:\r?\n|\r)을 사용하고 있지만 여러 줄 모드에서 $^으로 바꾸고 싶지만 문자열의 시작 부분이나 끝 부분에 있지 않을 때 작동하지 않는 것 같습니다. 나는 그것을 테스트 regex101을 사용하고여러 줄을 여러 줄 정규식으로 일치

A 
B 

A 
B 

예를 A$^B를 들어 일치하지 않습니다. LINEBREAK 문자 자체를 일치하지 않는

답변

3

$^, 그들은 단지 줄의 끝/시작 부분에 위치 일치합니다. 당신은 당신이 어떤 공백

A\s*B로 확인하는 경우

A[\r\n]+B 
+1

오케이 다소 불행합니다. 하지만 적어도 이제는 줄 바꿈을 쉽게 감지 할 수 없다는 것을 알고 있습니다. B가 왜 탈출 했습니까? – xZise

+0

@nhahtdh : 오, 내 정규 표현식을 고쳐 주셔서 감사합니다! 그 백 슬래시가 어디에서 왔는지 전혀 모르겠습니다. –

2

같은 것을 사용할 필요 - 약간의 공백이 있어야합니다

A[\r\n]+B - -이 있어야합니다 적어도 하나의 개행 문자 선택적 공백 A\s+B을 가질 수 있습니다 \ r 또는 \ n - 또한 a와 b 사이의 여러 공백 행과 일치합니다.

+0

'\ s'은 또 다른 멋진 해결책이 될지 모르겠지만 완전한 정규식으로 테스트해야합니다. – xZise

관련 문제