我遇到了正则表达式问题。我希望匹配不是空格或换行符的内容。
不是空白就是:
[^ ]
并不意味着没有空格或换行符:
[^( |\n)]
答案 0 :(得分:6)
没有
[^( |\n)]
表示“任何不是空格,(
,)
,|
或换行符的字符。
[]
被称为字符类。它匹配列表中的单个字符,可选择在开头用^
取消。
你想要的是
[^ \n]
(或\S
如果您还想从合法匹配范围中排除换行符,换页符和标签页。)
答案 1 :(得分:1)
如果您不介意排除标签,也可以使用分别包含或排除空格,制表符和换行符的\ s和\ S快捷方式。
在您的情况下,正则表达式'\ S'将匹配任何不是空格,制表符或换行符的字符。
答案 2 :(得分:1)
[^\s]
我不知道它在R中是怎样的,但通常\ s表示白色字符http://www.regular-expressions.info/charclass.html#shorthand
答案 3 :(得分:1)
\S
或[^\s]
,它们是等效的。