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
参数设置为 TRUE
或 FALSE
没有任何区别。我知道 grepl(";",text)
有效,我的问题是为什么当我们添加单词边界时它不再有效。
\<
是前导词边界,\>
是尾随词边界。所以,\<
之后的char一定是一个word char,\>
之前的char应该是一个word char.
;
不是字字符。 \<;\>
永远不会匹配任何字符串,因为 \<;
意味着 匹配前面带有前导词边界 和 ;\>
的 ;
表示 匹配 ;
后跟一个尾随单词边界 ,即要求 ;
是一个单词 char,这是错误的。
text = 'this is ; an example'
语言是R。我想知道为什么:
grepl("\<is\>",text)
returns TRUE
而
grepl("\<;\>",text)
returns FALSE
请注意,将 perl
参数设置为 TRUE
或 FALSE
没有任何区别。我知道 grepl(";",text)
有效,我的问题是为什么当我们添加单词边界时它不再有效。
\<
是前导词边界,\>
是尾随词边界。所以,\<
之后的char一定是一个word char,\>
之前的char应该是一个word char.
;
不是字字符。 \<;\>
永远不会匹配任何字符串,因为 \<;
意味着 匹配前面带有前导词边界 和 ;\>
的 ;
表示 匹配 ;
后跟一个尾随单词边界 ,即要求 ;
是一个单词 char,这是错误的。