Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby:正则表达式,用于匹配由空格、制表符或新行组成的字符串,而不是其他字符串_Ruby_Regex_String_Pattern Matching - Fatal编程技术网

Ruby:正则表达式,用于匹配由空格、制表符或新行组成的字符串,而不是其他字符串

Ruby:正则表达式,用于匹配由空格、制表符或新行组成的字符串,而不是其他字符串,ruby,regex,string,pattern-matching,Ruby,Regex,String,Pattern Matching,我试图建立一个正则表达式,它只匹配那些仅由3种字符组成的字符串:制表符、空格和换行符。例如 String1 = " \t " String2 = "\n\n" String3 = " \t \n \n \n " 以上所有字符串都应与正则表达式匹配。 我试过:%r/[\n]+/ 但这也是匹配字符串,有空格和新行,但除了这些字符之外,还有很多其他字符,比如 string4 = " I am a boy \n" 我的表达式也是match st

我试图建立一个正则表达式,它只匹配那些仅由3种字符组成的字符串:制表符、空格和换行符。例如

String1 = "        \t      "
String2 = "\n\n"
String3 = "  \t      \n \n       \n    "
以上所有字符串都应与正则表达式匹配。 我试过:
%r/[\n]+/

但这也是匹配字符串,有空格和新行,但除了这些字符之外,还有很多其他字符,比如

string4 = "  I am a boy \n"
我的表达式也是match string4,它不应该匹配


我无法修复它。如果有人能想出一个解决方案来解决这个问题,那就太好了。

您需要告诉正则表达式整个字符串必须适合,而不是字符串的一部分。使用^和$运算符执行此操作,它们分别表示“文件开始”和“文件结束”:

/^[\t\n ]+$/
此网站以及类似网站可能非常有用:


问题不清楚。“空格、制表符和换行符”或“空格和换行符”--哪个?已编辑。。谢谢你的邀请
\s
匹配所有空白,因此如果您同意
\r
也出现在其中,则可以作为
[\t\n]
的捷径。