正则表达式,用于检查以字符' @'开头的单词的出现。在java中

时间:2016-06-01 05:01:40

标签: java android regex

我正在尝试搜索以' @',开始 @steve 开头的单词。但我没有成功。

到目前为止我所尝试的是"。 \ b @ steve \ b。"但 \ b 仅匹配以[a-zA-Z0-9_]开头的单词。

如果问题太广泛或者有人需要代码示例,请告诉我们我会发布

感谢任何帮助。

由于

4 个答案:

答案 0 :(得分:3)

你没错,\b找不到字边界,因为@不是单词字符。你可以使用一个后视:

(?<!\\w)@steve\\b

Regex101 Example

一般情况正则表达式只是:

(?<!\\w)@\\w+

请注意,在上面的正则表达式中,结尾\b是不必要的,因为量词将会转到单词的末尾。

答案 1 :(得分:1)

我认为这就是你要找的东西。

(?<!\w)@\w+

This matches @Steve but doesn't match Hello@Steve. 

答案 2 :(得分:0)

试试这个正则表达式:

@\b\w+\b

您可以测试正则表达式here

答案 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 @");
    }

}