我有一些字符串,它有这种类型:((notice)Any_other_string
注意:()
在这个字符串中有。
所以,我想将此字符串分成 2 部分 :(notice)
和其余部分。我这样做:
private static final Pattern p1 = Pattern.compile("(^\\(notice\\))([a-z_A-Z1-9])+");
String content = "(notice)Stack Over_Flow 123";
Matcher m = p1.matcher(content);
System.out.println("Printing");
if (m.find()) {
System.out.println(m.group(0));
System.out.println(m.group(1));
}
我希望结果是(notice)
and Stack Over_Flow 123
,但结果是 : (notice)Stack
and(notice)
我无法解释这个结果。哪个正则表达式适合我的目的?