繁体   English   中英

Java中的正则表达式,用于检查一个字符串是否为另一个字符串的一部分(无子字符串)

[英]regular expression in java to check that a string is part of another string (NO SUBSTRING)

我想知道是否有任何正则表达式可以让我检查一下:

如果我有这些字符串:

  • 完成
  • Emoc

如果我有“ emoc”,我需要检查“ come”的所有字符是否包含在完整的BUT中,并尝试将其与“ complete”匹配,匹配项应返回false。

如您所见,这不是“包含”情况。我需要检查从左到右的一个字符串的所有字符都包含在较大的字符串中,但是如果我尝试以不同的顺序匹配相同的字符,应该不匹配(即使较大的字符串包含所有字母)。

谢谢。

不是直接的正则表达式,但是给定搜索字符串,就很容易构建一个:

    String main = "complete";
    String search = "come";

    char[] split = search.toCharArray();
    StringBuilder regex = new StringBuilder(".*");

    for (int i =0; i < split.length; i++) {
        regex.append(split[i]).append(".*");
    }

    System.out.println(main.matches(regex.toString()));

在此示例中,最后一行显示true。 如果将search的值更改为“ emoc”,则返回false。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM