我希望模式与String的第一个符号完全匹配。标志可以是一切:空白,字符,数字......但它应该只是第一个。
^。{1} 是我的猜测,但以字符串" 123 void"
的infite循环结束
public CatchAll(String string) {
pattern = Pattern.compile("^.");

语言是Java, ^。循环infitite。
对这种模式的建议?
答案 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的意思。