如何判断字符串是否只有用户名而不包含任何其他文字(例如"@username"
或"@username "
比"@username text"
更多
答案 0 :(得分:3)
使用查找@[A-Za-z]+
这只是匹配字母...如果你需要允许数字和下划线,你需要像@[A-Za-z0-9_]+
这样的东西。
要允许零个或多个尾随空白字符,您可以添加\s*
换入^
和$
以匹配字符串的开头和结尾。
这是整个正则表达式:
@[A-Za-z0-9_]+\s*
如果您需要更多匹配的字符,可以将它们添加到括号中。您可能需要将短划线( - )作为\-
转义,具体取决于您放置它的位置。
如果您只需要A-Za-z0-9_,那么您可以将其缩写为\ w如果您愿意。这是简短版本:
@\w+\s*
除此之外:如果你出于某种原因来自红宝石 - 小心使用^和$ - 你应该“可能”使用\ A和\ z代替(见Difference between \A \z and ^ $ in Ruby regular expressions)