簡體   English   中英

如何為 java 創建正則表達式,如 sql

[英]How to create regular expression for java like sql

我想使用模式搜索。

String s ="abstract-package-value";

假設我想在第三個 position 中搜索具有“值”的單詞。

我想要一個像*-*-value這樣的模式

various-paint-kindness

在這里,假設*-paint-*

在 sql 中,我可以制作%-paint-%

在此特定示例中,您可以簡單地將輸入字符串拆分為-然后檢查第三個元素:

String s = "abstract-package-value";
String[] parts = s.split("-");
if ("value".equals(parts[2])) {
    System.out.println("MATCH");
}

如果您想要模式匹配解決方案,那么String#matches與正則表達式是另一種選擇:

String s = "abstract-package-value";
if (s.matches(".*-value")) {
    System.out.println("MATCH");
}

您也可以在這里使用String#endsWith ,這類似於上面給出的matches選項。

試試這個代碼並使用你想要的變體:

import java.util.regex.Matcher; 
import java.util.regex.Pattern; 

public class Main {
    
    public static void main(String args[]) { 
        
        String ss ="abstract-package-value";
        Pattern pattern = Pattern.compile(".*-value"); 
        Matcher mm = pattern.matcher(ss); 
        while (mm.find()) 
            System.out.println("Pattern found from position " + mm.start() +   " to " + (mm.end()-1)); 
    } 
}

Output:

Pattern found from position 0 to 21

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM