我正在尝试编写一个正则表达式来检查文本的第一个字符是否等于@。例如:
@test - 这应该匹配
test @ test - 这不应该匹配
我写了这样的话:/(@[\w-]+)/i
但是这个正则表达式也是第二个例子匹配,但它不应该......
答案 0 :(得分:1)
/^@/
是正则表达式,只匹配以@
如果你想捕获字符串(不是你问题的一部分),你需要添加括号:
/^(^@.*)/
答案 1 :(得分:1)
我建议您使用\A
代替^
。 ^
检查字符串中每行的开头。而是\A
检查整个字符串的开头。
这个REGEX将完成这项工作:/\A@[\w]*/
您可以使用此在线工具构建您的未来REGEX:http://rubular.com/
答案 2 :(得分:0)
如果你想找到以@而不是行开头的单词(正如另一个答案那样),你可能想要:
/\s+@\w+/