“匹配文字字符”,或“字面匹配字符”?

时间:2014-06-20 06:08:27

标签: regex

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

[.] - 字面字符.

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

我迷失在"字面字符"和#34;字符"。 这两者有什么区别?

1 个答案:

答案 0 :(得分:5)

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

literal字符或匹配的内容literally是指在文本中指定实际字符:例如,a匹配a,而不是字符类例如\w也可以匹配a

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

  1. \.
  2. [.]
  3. [\.]
  4. 哪个选项更好?

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