为什么[\ n $]不工作,而(\ n | $)呢?

时间:2013-06-02 21:11:25

标签: regex pcre

我们有这个字符串(最后没有新行):

The quick brown fox jumps over the lazy dog

我希望匹配整个字符串,直到新行\n或结束$出现。

  • 我首先尝试过:[\n$] - 没有用。
  • 然后我尝试了(\n|$) - 做了工作

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

2 个答案:

答案 0 :(得分:12)

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

答案 1 :(得分:1)

另一种看待它的方法:一个字符类只匹配一个字符。由$匹配的行尾为空字符串。这就是为什么行尾不能与字符类匹配的原因。

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