簡體   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