匹配字符串\ n \\\\\ n [^]]的最后一行b

时间:2015-06-03 06:42:19

标签: regex sed

我有一个字符串

\n\\\\\n[^] ] b

(litteraly)

\\ [^] ] b

我想匹配此字符串的最后一行。

我尝试使用此正则表达式\n.*$但它无效。如果我使用\\\\n.*$它会起作用,但我需要找到一些通用解决方案,因为如果我有一个像\nX\n[^] ] b这样的字符串,它将无效。

感谢您的建议。

修改: 我试图在sed模式空间中匹配这个模式。所以我不知道它是否与正常的正则表达式newLine字符相同。 它看起来像:

PATT:\n\\\\\n[^] ] b$
s/\n.*$//

2 个答案:

答案 0 :(得分:0)

[^\n]*$

你可以通过简单地使用它来获得最后一行。参见演示。

https://regex101.com/r/pG1kU1/27

答案 1 :(得分:0)

sed '#buffer is with your sample data
/\(\n\)\{0,1\}\([[:alnum:][:blank:][:punct:]]*\)$/ s//Last New line: \1 Last -line \2/'
  • posix version
  • 允许仅包含1行的字符串(不同意您的样本)
  • 允许有或没有最后一个新行