正则表达式模式仅匹配字符串的第一个符号

时间:2015-05-26 10:42:41

标签: regex string match

我希望模式与String的第一个符号完全匹配。标志可以是一切:空白,字符,数字......但它应该只是第一个。

^。{1} 是我的猜测,但以字符串" 123 void"

的infite循环结束



public CatchAll(String string) {
		pattern = Pattern.compile("^.");




语言是Java, ^。循环infitite。

对这种模式的建议?

1 个答案:

答案 0 :(得分:0)

这适用于Java:

    Pattern pattern = Pattern.compile("^(.)");
    Matcher matcher = pattern.matcher("123 void");
    if(matcher.find())
        System.out.println(matcher.group(1));

然而,更好的方法,因为你只想要字符串的第一个字符,就是使用substring(int start, int finish)方法。

    String newStr = "123 void".substring(0, 1);
    System.out.println(newStr);

两者均为1

编辑:等待@ stribizhev的评论,您也可以这样做:

    Pattern pattern = Pattern.compile("^.");
    Matcher matcher = pattern.matcher("123 void");
    if(matcher.find())
        System.out.println(matcher.group(0));

但是我不确定这是否是@stribizhev的意思。