匹配所有控制字符,但换行符\ n

时间:2018-02-01 12:36:06

标签: ruby regex

除了换行符"\n"之外,有没有办法编写与control character匹配的正则表达式?

我可以编写一个正则表达式来捕获任何控制字符,如下所示:

/\p{Cc}/

2 个答案:

答案 0 :(得分:5)

这应该这样做:

/(?!\n)\p{Cc}/

否定前瞻,不应与换行符匹配

答案 1 :(得分:0)

str = "Q\cA\n\cD%\cH\n"       #=> "Q\u0001\n\u0004%\b\n"

str.gsub(/[^\p{Cc}]|\n/, '')  #=> "\u0001\u0004\b"

请注意

"\cH" #=> "\b"