91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在Java中使用正則表達式匹配${key}的方法

發布時間:2021-03-06 10:12:53 來源:億速云 閱讀:551 作者:小新 欄目:開發技術

這篇文章將為大家詳細講解有關在Java中使用正則表達式匹配${key}的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

1.正則表達式匹配${key}

\$\{([a-z]+)\} 能夠匹配字符串中以${key}形式的文本(其中key為小寫英文字母)

.*\$\{([a-z]+)\}.* 可以用來檢測文本中是否有${key}形式的文本

解釋如下:

. 匹配除換行符\n之外的任何單字符

* 匹配前面的子表達式零次或多次 要匹配*字符,請使用\*

{ 標記限定符表達式的開始。要匹配 {,請使用 \{

[a-z] 匹配小寫字母

+匹配前面的子表達式一次或多次。要匹配+字符,請使用\+;+限定是貪婪的,因為它們會盡可能多的匹配文字,只有在它們的后面加上一個?就可以實現非貪婪或最小匹配。

()標記一個子表達式的開始和結束位置。子表達式可以獲取供以后使用。要匹配這些字符,請使用 \(\)

下圖展示了括號的選擇作用

在Java中使用正則表達式匹配${key}的方法

2.在Java中使用正則表達式匹配${key}

這里直接貼代碼了

package test;

import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput;

import java.util.ArrayList;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @Author Song
 * @Date 2021/2/26 16:55
 * @Version 1.0
 * @Description
 */
public class TestUtil {
  /**
   * 利用好其預編譯功能,可以有效加快正則匹配速度
   */
  public static Pattern dynamic = Pattern.compile(".*\\$\\{([a-z]+)\\}.*");
  public static Pattern dynamicLimitCount = Pattern.compile("\\$\\{([a-z]+)\\}");

  /**
   * 判斷內容中是否包含動態參數(${key}形式的)
   *
   * @param content 要判斷的內容
   * @return
   */
  public static boolean isContainsDynamicParameter(String content) {
    return dynamic.matcher(content).matches();
  }

  /**
   * 按照動態內容的參數出現順序,將參數放到List中
   *
   * @param content
   * @return
   */
  public static List<String> getKeyListByContent(String content) {
    Set<String> paramSet = new LinkedHashSet<>();
    Matcher m = dynamicLimitCount.matcher(content);
    while (m.find()) {
      paramSet.add(m.group(1));
    }
    return new ArrayList<>(paramSet);
  }


  public static void main(String[] args) {
    //測試代碼
    String content = "尊敬的${name}客戶您好,請于${time}前到達";
    System.out.println(isContainsDynamicParameter(content));
    List<String> keyListByContent = getKeyListByContent(content);
    System.out.println("內容中的動態參數為:");
    keyListByContent.forEach(System.out::println);
  }
}

測試代碼的運行結果如圖

在Java中使用正則表達式匹配${key}的方法

關于“在Java中使用正則表達式匹配${key}的方法”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

台南市| 昔阳县| 图们市| 娄底市| 胶州市| 松原市| 徐水县| 资中县| 南京市| 桂平市| 天镇县| 保德县| 嘉黎县| 青神县| 东阳市| 桂平市| 鄂尔多斯市| 紫阳县| 诏安县| 安徽省| 德阳市| 长治市| 塘沽区| 闻喜县| 远安县| 潜江市| 威远县| 揭西县| 日喀则市| 勃利县| 休宁县| 招远市| 太和县| 军事| 武隆县| 长垣县| 庐江县| 泰州市| 繁峙县| 黄陵县| 武义县|