R正则表达式匹配

时间:2012-10-27 09:56:02

标签: regex r

我遇到了正则表达式问题。我希望匹配不是空格或换行符的内容。

不是空白就是:

[^ ]

并不意味着没有空格或换行符:

[^( |\n)]

4 个答案:

答案 0 :(得分:6)

没有

[^( |\n)]

表示“任何不是空格,()|或换行符的字符。

[]被称为字符类。它匹配列表中的单个字符,可选择在开头用^取消。

你想要的是

[^ \n]

(或\S如果您还想从合法匹配范围中排除换行符,换页符和标签页。)

答案 1 :(得分:1)

如果您不介意排除标签,也可以使用分别包含或排除空格,制表符和换行符的\ s和\ S快捷方式。

在您的情况下,正则表达式'\ S'将匹配任何不是空格,制表符或换行符的字符。

快速参考指南:http://www.regular-expressions.info/reference.html

答案 2 :(得分:1)

[^\s] 

我不知道它在R中是怎样的,但通常\ s表示白色字符http://www.regular-expressions.info/charclass.html#shorthand

答案 3 :(得分:1)

\S[^\s],它们是等效的。