Pcre регулярное выражение, чтобы игнорировать переводы строки - PullRequest
1 голос
/ 24 августа 2011

У меня есть регулярное выражение PCRE следующей формы:

Foo:\\s*(.*)

Когда это используется для соответствия Foo: bar \ n, тогда совпадение группы также содержит символ новой строки.Как я могу изменить регулярное выражение, чтобы удалить новую строку из совпадения группы.

Ответы [ 2 ]

0 голосов
/ 27 июня 2012
Foo:[^\\S\\r\\n]*(.*)

Это будет соответствовать пробелу, но не возврату каретки (\ r) или новой строке (\ n). Если вы обнаружите, что .* также соответствует символу новой строки, вы можете изменить выражение на:

Foo:[^\\S\\r\\n]*([^\\r\\n]*)
0 голосов
/ 24 августа 2011

Если вы можете отключить . совпадения \n, то сделайте это.

В противном случае поместите необязательный символ новой строки в конце.

Foo:\\s*(.*)\n?

Или вы можете поменять (.*) с (\S*)

...