求大佬帮我拍写几个正则表达式

2025-01-02 05:23:55
推荐回答(2个)
回答1:

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));


}


}

回答2:

你好第一个你可以用
re.split(“[:!]”,input)
就可以得到你需要的三个字串了。
第二个的话可以用
A=re.match(“\[(.*?)\]”,input)
print(A.group(1))