"匹配文字字符",或"字面匹配字符"?

Rik*_*ard 4 regex

我正在使用regex101工具制作一个RegEx,并在解释字段中阅读

[.] - 文字字符 .

[\.]- .字面上匹配字符

我迷失在"文字"和"字面字面"之间.这两者有什么区别?

zx8*_*x81 5

没有区别.对不起,我把它拿走了.Regx101的作者Firas Dib选择解释各种令牌的唯一区别.

一个literal字符或匹配的东西literally是指指定文本的实际字符:例如,a匹配a,而不是一个字符类如\w也可以匹配a.

您可以通过以下三种方式之一匹配文字句点:

  1. \.
  2. [.]
  3. [\.]

哪个选项更好?

  • 有些人喜欢选项2,因为它清楚地表明你匹配的是一个时期,而不是全能点.它脱颖而出.对我自己,我用\..有些人会说使用字符类不太理想,但在现代处理器上它并没有什么区别.你选.
  • 选项3位于顶部,通常在有人不知道不需要在字符类中转义句点时使用.在我看来,这令人困惑.作者的意思是什么?他们试图创建一个字符类来匹配反斜杠或句号,并写了一个拼写错误?(那就是[\\.]