欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java正則表達(dá)式處理特殊字符轉(zhuǎn)義的方法

 更新時(shí)間:2017年01月05日 08:46:56   投稿:daisy  
由于正則表達(dá)式定了一些特殊字符,而有時(shí)候需要對(duì)這些特殊字符進(jìn)行匹配的話就需要進(jìn)行轉(zhuǎn)義了,下面這篇文章主要給大家介紹了Java正則表達(dá)式處理特殊字符轉(zhuǎn)義的方法,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。

正則需要轉(zhuǎn)義字符

'$', '(', ')', '*', '+', '.', '[', ']', '?', '\\', '^', '{', '}', '|'

異?,F(xiàn)象:

java.util.regex.PatternSyntaxException: Dangling meta. character '*' near index 0

解決方法

對(duì)特殊字符加\\轉(zhuǎn)義即可。

注意:雖然使用[]在部分條件下也可以,但是在對(duì)于(、[、{范圍邊界開始符不匹配的情況下會(huì)報(bào)如下:

異?,F(xiàn)象

java.util.regex.PatternSyntaxException: Illegal repetition near index 50

Java過(guò)濾正則表達(dá)式特殊字代碼如下(注意:\\需要第一個(gè)替換,否則replace方法替換時(shí)會(huì)有邏輯bug)

/**
 * 轉(zhuǎn)義正則特殊字符 ($()*+.[]?\^{},|)
 * 
 * @param keyword
 * @return
 */
public static String escapeExprSpecialWord(String keyword) {
 if (StringUtils.isNotBlank(keyword)) {
 String[] fbsArr = { "\\", "$", "(", ")", "*", "+", ".", "[", "]", "?", "^", "{", "}", "|" };
 for (String key : fbsArr) {
 if (keyword.contains(key)) {
 keyword = keyword.replace(key, "\\" + key);
 }
 }
 }
 return keyword;
}

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流。

相關(guān)文章

  • Spring Boot文件上傳原理與實(shí)現(xiàn)詳解

    Spring Boot文件上傳原理與實(shí)現(xiàn)詳解

    這篇文章主要介紹了Spring Boot 文件上傳原理與實(shí)現(xiàn)詳解,前端文件上傳是面向多用戶的,多用戶之間可能存在上傳同一個(gè)名稱、類型的文件;為了避免文件沖突導(dǎo)致的覆蓋問(wèn)題這些應(yīng)該在后臺(tái)進(jìn)行解決,需要的朋友可以參考下
    2024-01-01
  • Java順序查找算法詳解

    Java順序查找算法詳解

    順序查找又稱線性查找,主要用于在線性表中進(jìn)行查找。順序查找通常分為對(duì)一般的無(wú)序線性表的順序查找和對(duì)按關(guān)鍵字有序的順序表的順序查找,下面我們來(lái)一探究竟
    2022-08-08
  • MyBatis入門之增刪改查+數(shù)據(jù)庫(kù)字段和實(shí)體字段不一致問(wèn)題處理方法

    MyBatis入門之增刪改查+數(shù)據(jù)庫(kù)字段和實(shí)體字段不一致問(wèn)題處理方法

    這篇文章主要介紹了MyBatis入門之增刪改查+數(shù)據(jù)庫(kù)字段和實(shí)體字段不一致問(wèn)題處理方法,需要的朋友可以參考下
    2017-05-05
  • SpringBoot項(xiàng)目熱部署的實(shí)現(xiàn)

    SpringBoot項(xiàng)目熱部署的實(shí)現(xiàn)

    SpringBoot項(xiàng)目熱部署是一種讓開發(fā)人員在修改代碼后無(wú)需重啟應(yīng)用即可看到更改效果的技術(shù),通過(guò)使用SpringBoot的DevTools等工具,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-09-09
  • Java并發(fā)之異步的八種實(shí)現(xiàn)方式

    Java并發(fā)之異步的八種實(shí)現(xiàn)方式

    本文主要介紹了Java并發(fā)之異步的八種實(shí)現(xiàn)方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • Java編程中的4種代碼塊詳解

    Java編程中的4種代碼塊詳解

    在本篇內(nèi)容里小編個(gè)總結(jié)了Java編程中的4種代碼塊相關(guān)的知識(shí)點(diǎn),有興趣的朋友們可以學(xué)習(xí)下。
    2021-06-06
  • 詳解servlet調(diào)用的幾種簡(jiǎn)單方式總結(jié)

    詳解servlet調(diào)用的幾種簡(jiǎn)單方式總結(jié)

    這篇文章主要介紹了詳解servlet調(diào)用的幾種簡(jiǎn)單方式總結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Spring Boot深入分析講解日期時(shí)間處理

    Spring Boot深入分析講解日期時(shí)間處理

    項(xiàng)目中使用LocalDateTime系列作為DTO中時(shí)間的數(shù)據(jù)類型,但是SpringMVC收到參數(shù)后總報(bào)錯(cuò),為了配置全局時(shí)間類型轉(zhuǎn)換,嘗試了如下處理方式
    2022-06-06
  • Mybatis使用on duplicate key update的實(shí)現(xiàn)操作

    Mybatis使用on duplicate key update的實(shí)現(xiàn)操作

    本文主要介紹了Mybatis使用on duplicate key update的實(shí)現(xiàn)操作,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • java的SimpleDateFormat線程不安全的幾種解決方案

    java的SimpleDateFormat線程不安全的幾種解決方案

    但我們知道SimpleDateFormat是線程不安全的,處理時(shí)要特別小心,要加鎖或者不能定義為static,要在方法內(nèi)new出對(duì)象,再進(jìn)行格式化,本文就介紹了幾種方法,感興趣的可以了解一下
    2021-08-08

最新評(píng)論