R grepl:整个单词匹配不适用于标点符号

R grepl: whole word matching not working for punctuation marks

text = 'this is ; an example'

语言是R。我想知道为什么:

grepl("\<is\>",text)

returns TRUE

grepl("\<;\>",text)

returns FALSE

请注意,将 perl 参数设置为 TRUEFALSE 没有任何区别。我知道 grepl(";",text) 有效,我的问题是为什么当我们添加单词边界时它不再有效。

\< 是前导词边界,\> 是尾随词边界。所以,\<之后的char一定是一个word char,\>之前的char应该是一个word char.

; 不是字字符。 \<;\> 永远不会匹配任何字符串,因为 \<; 意味着 匹配前面带有前导词边界 ;\>;表示 匹配 ; 后跟一个尾随单词边界 ,即要求 ; 是一个单词 char,这是错误的。