Ruby:正则表达式,用于匹配由空格、制表符或新行组成的字符串,而不是其他字符串
我试图建立一个正则表达式,它只匹配那些仅由3种字符组成的字符串:制表符、空格和换行符。例如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
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]
的捷径。