java - 如何使用Java正则表达式来匹配这个模式?

标签 java regex

我想要一个模式来匹配句子中的*instance*stuck*,instance和stuck之间的单词数可以是1到3。我如何在Java中用正则表达式编写这个模式?

例如:

  1. “实例卡住”将与模式匹配
  2. “实例刚刚卡住”将与模式匹配
  3. “位于 xyz 的服务器 123 中的实例被卡住”将与模式不匹配

最佳答案

你可以尝试这样测试

String s1 = "The instance just got stuck";
String s2 = "The instance in the server 123 at xyz is stuck";
System.out.println(s1.matches(".*instance (\\w+\\s+){1,3}stuck.*")); // true
System.out.println(s2.matches(".*instance (\\w+\\s+){1,3}stuck.*")); // false

\\w 匹配任何字母数字字符,就像 [a-zA-Z0-9]
\\s 是空格类
+ 表示 + 之前的元素必须至少找到一次。

关于java - 如何使用Java正则表达式来匹配这个模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11802346/

相关文章:

特定模式之间的正则表达式

java - 线程 “main” java.util.zip.ZipException : error in opening zip file 中的异常

java - 闪屏图片不出现

java - 将 GWT 和 ReSTLet 连接在一起

python - 正则表达式匹配字符串的结尾

java - 我将如何使用正则表达式输出一组特定的字符串 java?

java - 将xml和java配置与spring混合

java - Spring Security 自定义登录 url

正则表达式匹配文本直到第二个点,排除 html 标签

c# - 检查第一个字符是否为大写正则表达式