[英]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.