Ruby 匹配除换行符以外的所有控制字符\n
有没有一种方法可以编写一个正则表达式来匹配除换行符“\n””之外的任何正则表达式 我可以编写正则表达式来捕获任何控制字符,如下所示:Ruby 匹配除换行符以外的所有控制字符\n,ruby,regex,Ruby,Regex,有没有一种方法可以编写一个正则表达式来匹配除换行符“\n””之外的任何正则表达式 我可以编写正则表达式来捕获任何控制字符,如下所示: /\p{Cc}/ 这应该做到: /(?!\n)\p{Cc}/ 负向前看,不应该匹配换行符这应该可以做到: /(?!\n)\p{Cc}/ str = "Q\cA\n\cD%\cH\n" #=> "Q\u0001\n\u0004%\b\n" str.gsub(/[^\p{Cc}]|\n/, '') #=> "\u0001\u0004\
/\p{Cc}/
这应该做到:
/(?!\n)\p{Cc}/
负向前看,不应该匹配换行符这应该可以做到:
/(?!\n)\p{Cc}/
str = "Q\cA\n\cD%\cH\n" #=> "Q\u0001\n\u0004%\b\n"
str.gsub(/[^\p{Cc}]|\n/, '') #=> "\u0001\u0004\b"
负向前看,不应匹配换行符
str = "Q\cA\n\cD%\cH\n" #=> "Q\u0001\n\u0004%\b\n"
str.gsub(/[^\p{Cc}]|\n/, '') #=> "\u0001\u0004\b"
注意
"\cH" #=> "\b"
注意
"\cH" #=> "\b"
您可以编写
str.gsub(/./){| c | c.match?(r)?c:''},其中
r`是您的正则表达式。这就是您在提取非换行符控制字符(或其他字符)时的想法吗?您可以编写str.gsub(/./){| c | c.match?(r)?c:'},其中
r`是您的正则表达式。这就是您在提取非换行符控制字符(或者其他东西)时的想法吗?