3

我们有这个字符串(末尾没有新行):

The quick brown fox jumps over the lazy dog

我想匹配整个字符串,直到出现新行\n或结尾$

  • 我首先尝试:[\n$]- 没用。
  • 然后我尝试(\n|$)了-确实有效

问题:为什么不[\n$]匹配字符串而匹配(\n|$)

4

2 回答 2

12

因为字符类中的 $ 被视为文字

于 2013-06-02T21:12:37.613 回答
1

另一种看待它的方式:一个字符类恰好匹配一个字符。匹配的行尾$是一个空字符串。这就是字符类不能匹配行尾的原因。

(因此,唯一可能的解释$是字面意思。)

于 2013-06-02T21:17:58.393 回答