java代码,加粗部分为正则表达式,看下是不是你想要的:
public static void main(String[] args) {
String content="test1!L1:N1 test2!L2:N2 test3!L3:N3 test4!L4:N4";
String regex="([^!: ]+)!([^!: ]+):([^!: ]+)";//在方括号中根据需要添加不包含的字符
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(content);
while (m.find()) {
System.out.println("整体的匹配:"+m.group());
System.out.println("取第一个值:"+m.group(1));
System.out.println("取第二个值:"+m.group(2));
System.out.println("取第三个值:"+m.group(3));
}
}
你好第一个你可以用
re.split(“[:!]”,input)
就可以得到你需要的三个字串了。
第二个的话可以用
A=re.match(“\[(.*?)\]”,input)
print(A.group(1))