8
A
回答
6
grep regex GNU extension:「\'」在整個輸入的結束相匹配
-2
\是一個轉義字符。這意味着'應該被視爲文本來搜索,而不是作爲控制角色。
3
這是一個非常奇怪的避風港grep
,我不知道如何解釋它,但我必須注意,\'
不匹配任何字符。它看起來像它具有相同的含義$
:
$ echo x | grep "x\'"
x
$ echo xy | grep "x\'"
$ echo x | grep "\'x"
更新1
因爲它在http://www.gnu.org/software/findutils/manual/html_node/find_html/grep-regular-expression-syntax.html陳述(感謝Richard Sitze的鏈接),它真正的含義$
相同。但同時,我已經注意到\'
和$
之間的差異:
$ echo x | grep 'x$'
x
$ echo x | grep 'x$$'
$ echo x | grep "x\'"
x
$ echo x | grep "x\'\'"
x
$ echo x | grep "x\'\'\'"
x
如你所願,但事實並非如此的$
您可以指定\'
多次。必須只有一個$
。
另一個重要的評論。手冊上說:
‘\'’ matches the end of the whole input
但嚴格來說,這不是事實,因爲\'
比賽不僅整個輸入的結束,但每一行也結束:
$ (echo x; echo y) | grep "\'"
x
y
$
究竟怎麼做。
3
我不知道正則表達式的這一特點。但它作爲end of the string定位點在regular-expressions.info上列出。
它只存在於GNU Basic和Extended Regular Expressions的所有正則表達式中,請參見compatibility chart瞭解更多信息。
相關問題
- 1. 與grep匹配的模式
- 2. Grep變量模式匹配
- 3. 爲什麼我的模式不匹配?
- 4. xml不匹配xsd模式 - 爲什麼?
- 5. 爲什麼這個模式不匹配
- 6. grep模式,匹配多個文件
- 7. 使用grep命令匹配模式
- 8. grep只從模式中精確匹配
- 9. 匹配模式並打印後匹配一個字的grep
- 10. 匹配使用grep並打印匹配的模式多種模式
- 11. 匹配的grep
- 12. 爲什麼grep返回不匹配的行
- 13. 爲什麼grep顯示的行不匹配?
- 14. 爲什麼「grep -w」匹配以「。」結尾的字符串。或「$」?
- 15. 這是什麼模式匹配?
- 16. 這是什麼模式匹配算法?
- 17. 什麼匹配模式// *目標?
- 18. 爲什麼此模式在匹配preg_match時與RewriteCond中的QUERY_STRING不匹配?
- 19. C++:爲什麼正則表達式模式「[+ -/*]」匹配字符串「。」?
- 20. grep計數和保存匹配不同,爲什麼?
- 21. 爲什麼調用系統grep比在Ruby中匹配要慢?
- 22. 爲什麼'csplit`和`grep`不一致就是否有匹配?
- 23. 爲什麼我的模式匹配集合在Scala中失敗?
- 24. 爲什麼Scala的模式匹配不等同於isInstanceOf
- 25. 爲什麼Scala中的模式匹配不適用於變量?
- 26. 爲什麼我的模式匹配在Scala中失敗?
- 27. 爲什麼模式匹配不在Haskell的封面列表中?
- 28. 爲什麼lazy模式匹配splitAt函數的版本更快?
- 29. 爲什麼lua的字符串模式匹配這樣做?
- 30. 用grep匹配
但即使文本文件不包含單引號字符,grep仍然匹配文件中的所有行。我認爲這是OP所要求的。 – theon 2012-07-28 08:48:54
是的,這很奇怪,grep匹配字面單引號的所有輸入 – perreal 2012-07-28 08:51:07