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

时间:2018-02-19 11:21:39

标签: r regex grepl

text = 'this is ; an example'

语言是R.我想了解原因:

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

返回TRUE

,而

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

返回FALSE

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

1 个答案:

答案 0 :(得分:1)

\<是一个前导词边界,\>是一个尾随词边界。因此,\<之后的char必须是单词char,\>之前的char应该是单词char。

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