gpt4 book ai didi

java - Android/Java 模式匹配

转载 作者:行者123 更新时间:2023-12-02 00:34:43 25 4
gpt4 key购买 nike

出于某种原因,我无法获得“preference_network_”的模式匹配,后跟任何其他内容作为单个字符串。我希望能够使用 key.matches() 方法测试首选项键是否包含“preference_network_”。我怎样才能让它发挥作用,我尝试了一些方法但没有成功。谢谢提前。

更新

很抱歉没有澄清。所有这些解决方案我都可以执行并了解。我想做的是使用“key.matches(String RegularExpression)”函数,其中 key 是 onSharedPreferenceChangeListener 方法的参数。这就是我工作时遇到的困难。

而且我知道我不必使用这个,我可以使用startsWith 就可以了。我只是想知道。

谢谢

最佳答案

不使用模式的解决方案:

str.startsWith("preference_network_");
str.contains("preference_network_");

有图案

// the same as contains.
Pattern p = Pattern.compile("preference_network_");
p.matcher(str).find();

// the same as startsWith.
Pattern p = Pattern.compile("^preference_network_");
p.matcher(str).find();

如果你想使用matches(),你必须编写完整的模式:

Pattern p = Pattern.compile("^preference_network_.*");
p.matcher(str).matches();

因为匹配的执行方式就像您的模式以 ^ 开头并以 $ 结尾,即

Pattern.compile("^something$").matcher(str).find()Pattern.compile("something").matcher(str) 相同。匹配()

关于java - Android/Java 模式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8138324/

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