gpt4 book ai didi

java - 重写 RegEx 以在 Java 中使用

转载 作者:行者123 更新时间:2023-11-30 05:44:28 26 4
gpt4 key购买 nike

我写了(?<=pp_).*(?=')正则表达式来匹配 pp_ 之后的内容像

这样的字符串

['newPage', 'pp_vii', -1]

我的正则表达式在在线测试器中运行良好(请参阅 online regex validator ),但在 Java 中则不行。我的失败代码:

Pattern pattern = Pattern.compile("(?<=pp_).*(?=')");
String input = "['newPage', 'pp_vii', -1])";
Matcher m = pattern.matcher(input);
boolean match = m.matches(); // false

最佳答案

matches()方法检查完整字符串匹配,因此不要使用 find()检查子序列匹配的方法。最后,您可以使用group()方法获取匹配的子序列字符串。

public static void main(String[] args) {
Pattern pattern = Pattern.compile("(?<=pp_).*(?=')");
String input = "['newPage', 'pp_vii', -1])";
Matcher m = pattern.matcher(input);
boolean a = m.find();

if(a){
String out = m.group();
System.out.println("Match : " + out);
}

关于java - 重写 RegEx 以在 Java 中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55090401/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com