我正在尝试搜索以' @',开始 @steve 开头的单词。但我没有成功。
到目前为止我所尝试的是"。 \ b @ steve \ b。"但 \ b 仅匹配以[a-zA-Z0-9_]开头的单词。
如果问题太广泛或者有人需要代码示例,请告诉我们我会发布
感谢任何帮助。
由于
答案 0 :(得分:3)
你没错,\b
找不到字边界,因为@
不是单词字符。你可以使用一个后视:
(?<!\\w)@steve\\b
一般情况正则表达式只是:
(?<!\\w)@\\w+
请注意,在上面的正则表达式中,结尾\b
是不必要的,因为量词将会转到单词的末尾。
答案 1 :(得分:1)
我认为这就是你要找的东西。
(?<!\w)@\w+
This matches @Steve but doesn't match Hello@Steve.
答案 2 :(得分:0)
答案 3 :(得分:0)
public static void main(String[] args)
{
char[] word = "@SomeWord".toCharArray();
if (word[0] == '@')
{
System.out.println("Starts with @");
}
else
{
System.out.println("Not Starts with @");
}
}