[.] 在正则表达式中的用途是什么?
What is the purpose of [.] in regular expressions?
我在 manpage of notmuch 的正则表达式中找到 [.]
:
notmuch search 'from:"/bob@.*[.]example[.]com/"'
好像没用,因为括号是给列表用的,但是只有一个字符,但最后我知道它匹配一个文字点。
那么,为什么他们使用它而不是 \.
?这个表达式有什么优点吗?
起初我认为这是为了避免双重转义,但进一步考虑我认为这是因为字符集 ([]
) 中的一个点的处理方式与正常情况不同。在一个字符集中,一个点只匹配一个文字点是有道理的,重点是匹配一组特定的字符,所以在集合中有一个 wildcard 没有意义。
所以[.,;:]
可以用来匹配标点符号。
一旦考虑到这一点,很明显 [.]
只匹配点。
是否使用 \.
或 [.]
留作审美决定。
我在 manpage of notmuch 的正则表达式中找到 [.]
:
notmuch search 'from:"/bob@.*[.]example[.]com/"'
好像没用,因为括号是给列表用的,但是只有一个字符,但最后我知道它匹配一个文字点。
那么,为什么他们使用它而不是 \.
?这个表达式有什么优点吗?
起初我认为这是为了避免双重转义,但进一步考虑我认为这是因为字符集 ([]
) 中的一个点的处理方式与正常情况不同。在一个字符集中,一个点只匹配一个文字点是有道理的,重点是匹配一组特定的字符,所以在集合中有一个 wildcard 没有意义。
所以[.,;:]
可以用来匹配标点符号。
一旦考虑到这一点,很明显 [.]
只匹配点。
是否使用 \.
或 [.]
留作审美决定。