java - 我可以使用正则表达式来匹配java中的预定义字符串吗?

标签 java regex

我对正则表达式和java很陌生,我正在尝试制作一个人工智能来玩刽子手。

我有一个包含很多单词的列表,当用户猜测一个字母时,我会构建字符串来显示它。当用户猜测字母时,我想优化列表,使其仅包含在我猜对的位置具有字母的单词。

所以我们可以说这个词是“猫”。我以字符串“...”开始,当用户猜测“a”时,我将字符串更新为“.a.”

如何使用正则表达式删除数组中不遵循此模式的所有字符串?我可以为此使用正则表达式吗?非常感谢任何帮助,谢谢。

最佳答案

要从数组中“删除”所有不匹配的字符串,您可以使用正则表达式 .a.+.+[aA].+ 来测试数组中的所有单词是否与正则表达式匹配,并仅使用与正则表达式匹配的单词构建一个新的/替换数组。

  • .a.+ 将匹配所有三个字母或更长且第二个位置为 a 的单词
  • .[aA].+ 将匹配第二个位置带有 aA 的所有三个字母或更长的单词。
  • 这两个正则表达式也会匹配第二个位置带有 a (或 A)的非单词字符串 - 但如果您知道将要测试的单词池(数组中的单词)不包含任何非单词字符,那么“任何字符”点运算符上的简单匹配比正确覆盖所有非单词边缘情况更容易实现

这些是一些不错的正则表达式学习资源:

我发现单元测试是使用各种正则表达式模式字符串和输入字符串进行“实验”的好地方,以微调您寻求的实际应用程序行为。

关于java - 我可以使用正则表达式来匹配java中的预定义字符串吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55858208/

相关文章:

java - 与 JPA OneToMany 映射的只读关联

java - Android ImageView 不会清除

c# - 字符串拆分并将结果分布在不同的数组中

javascript - 连字符分隔的 float 的正则表达式

regex - Spark 2.2/Jupyter Notebook SQL regexp_extract 函数与正则表达式模式不匹配

java - 从字符串转换为时间戳时保留时间戳小时值

java - SWT-设置高度并在组中滚动

java - 注册期间用于密码检查的简单正则表达式是什么?

python - 从搜索模式中排除空格

javascript - 如何通过检查元素找到文件的位置?