2016-10-21 2 views
0

Следующее выражениеКак захватить символ (-ы), ограничивающий линию, независимо от платформы?

/^\S+\s*$/m.exec("a\nb\n")[0] 

возвращается только «», но не линия разделителем, хотя \s should match \n.

Экспериментируя я выяснил, что следующее выражение делает как-то, что я хочу:

/^\S+\s*$\n\r?/m.exec("a\nb\n")[0] 

Но теперь регулярное выражение платформы зависит.

Как включить символ разметки линии в соответствие независимым от платформы способом?

+1

'(? = [\ R \ n]) \ r? \ N?' - утверждать, что есть символ новой строки, а затем сопоставлять любой из 'CR' (старый Mac),' LF' (Linux) или ' CRLF' (Windows). –

ответ

0

Извините, но я получил его сам.

Вместо того, чтобы соответствовать концу строки, кажется, лучше совместить начало следующей строки. Это:

/^\S+\s*^/m.exec("a\nb\n")[0] 

возвращает «a \ n».

Смежные вопросы