在R中使用Regex定义单词

时间:2014-10-01 21:19:00

标签: regex r

我想在R中定义一个单词。我想在其中加入包含标点符号的单词(即连字符,如#34;无糖"和收缩,例如&#34 ;不要")以及包含数字的单词,如第7或第10。 我已经达到了这个目的:

gregexpr("[a-zA-Z0-9]+)*

我可能遗漏了一段与句号相关的内容(.),但我不知道如何添加它。

2 个答案:

答案 0 :(得分:1)

您可以通过将其添加到character class来继续定义要包含/匹配的字符。

gregexpr("[a-zA-Z0-9'-]+", x)
                    ^^

注意:在字符类中,连字符具有特殊含义。您可以将连字符作为类的第一个或最后一个字符。在某些正则表达式实现中,您也可以直接放在一个范围之后。如果你将连字符放在任何其他地方,你需要在它前面加上两个反斜杠,以便将它添加到你的班级。

答案 1 :(得分:0)

只需在方括号内添加所需的其他字符即可。由于连字符具有语义含义(表示字符范围),因此将其置于最后,最后或将其作为\-转义:

[a-zA-Z0-9'-]+
[-a-zA-Z0-9']+
[a-zA-Z0-9\-']+