[英]How to match end of line?
如何判斷匹配特定字符集或 EOL的所有內容?
[=]+.*?[()|$]
匹配: ==test)
不匹配: ==test
為什么第二個語句不考慮行結束正則表達式錨定$
?
行尾在字符類中不起作用,因為它實際上不是字符。 它是一個零寬度斷言(它測試字符串中當前點的條件,但實際上並沒有吃掉一個字符)。
用(?:otherstuffhere|$)
測試它。
注意:您似乎將字符類與匹配的子組混淆。 字符類[...]
匹配括號內的任何一個字符。 [a|bc]
將匹配a
, |
, b
或c
。 匹配子組是您想要的OR多個表達式。 (...)
是一個匹配的子組,具有捕獲功能。 (?:...)
是一個沒有捕獲的匹配子組。
請注意, $
的匹配行為可能會根據您的設置在多行字符串中有所不同。 它可以匹配每行的結尾,也可以只匹配字符串的結尾。
無論您使用什么設置, \\z
都將始終匹配字符串的末尾。 \\Z
將匹配字符串的末尾,或者在最后的換行符之前。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.