如何检查字符串是否只包含空格和字母?
我不确定如何在我的代码中实现它。目前我有
phrase.match(/[[:alpha:]]+[[:blank:]]/)
如果短语只包含字母和空格,我认为会返回true,但这不起作用。任何帮助将不胜感激。
答案 0 :(得分:2)
答案 1 :(得分:0)
使用否定匹配。
phrase !~ /[^[:alpha:][:blank:]]/
答案 2 :(得分:0)
Avinash Raj提供了几乎正确的答案,所以我只是建立起来。
只需组合两个char类。这里非常需要锚点。
phrase.match(/\A[[:alpha:][:blank:]]+\z/)
示例:
"ds ds sd ds".match(/\A[[:alpha:][:blank:]]+\z/)
=> #<MatchData "ds ds sd ds">
"dad56".match(/\A[[:alpha:][:blank:]]+\z/)
=> nil
"sdfd Ajds".match(/\A[[:alpha:][:blank:]]+\z/)
=> #<MatchData "sdfd Ajds">
"sdfd Ajds".match(/\A[[:alpha:][:blank:]]+\z/)
=> #<MatchData "sdfd Ajds">
"hghds /*".match(/\A[[:alpha:][:blank:]]+\z/)
=> nil
"abcd def SURPRISE".match(/\A[[:alpha:][:blank:]]+\z/)
=> #<MatchData "abcd def SURPRISE">
"abcd def\nSURPRISE".match(/\A[[:alpha:][:blank:]]+\z/)
=> nil