正则表达式匹配所有标点符号的字符串,但不包含带有包含其他字符的标点符号的字符串

时间:2016-01-21 07:39:19

标签: regex r

我有一些凌乱的文字回复,我试图清理一下。我使用R并希望匹配所有标点符号删除的响应。

我是否可以使用正则表达式来匹配这些:

!@#$
.
**********

但不是这些:

Hello.
!asdf
**********1

我之前尝试过

x[grepl("^[[:punct:]+]", x)]

仅将第一个字符的标点符号与另一个标点符号

匹配

2 个答案:

答案 0 :(得分:2)

简单地使用否定..

x[!grepl("\\w", x)] 

x[!grepl("[a-zA-Z]", x)] 

您的正则表达式x[grepl("^[[:punct:]+]", x)]应检查开头是否存在标点符号。

答案 1 :(得分:1)

^[^\\w\\n]+$

你可以使用它。参见演示。

https://regex101.com/r/cZ0sD2/6