![匹配反斜杠之后和空格之前的所有内容](https://linux22.com/image/74009/%E5%8C%B9%E9%85%8D%E5%8F%8D%E6%96%9C%E6%9D%A0%E4%B9%8B%E5%90%8E%E5%92%8C%E7%A9%BA%E6%A0%BC%E4%B9%8B%E5%89%8D%E7%9A%84%E6%89%80%E6%9C%89%E5%86%85%E5%AE%B9.png)
我有类似以下的字符串:
*unknown*\*unknown* (8)
hello\morning (3)
我正在尝试匹配morning
或*unknown\*
。
到目前为止我已经尝试过:
[^\\]+$
但这从反斜杠到行尾匹配,这不是我想要的。
答案1
和grep
:
grep -oP '(?<=\\)[^\\ ]+' file
-o
仅打印匹配的模式。是(?<=...)
与反斜杠匹配的正向前瞻\\
,但它不是匹配模式的一部分。第二个模式[^\\ ]+
位于反斜杠后面并包含所有字符,但是不反斜杠和不空间。
输出:
*unknown*
morning