亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Regex > 正文

通過Java正則表達式去掉SQL代碼中回車換行和多余空格

2020-03-16 21:09:43
字體:
來源:轉載
供稿:網友
剛才在寫一個代碼工具,遇到SQL換行和多余空格的問題,導致處理很困難,于是寫了一個正則式,搞定了,特分享下方便需要的朋友
 
 
復制代碼代碼如下:

public static void main(String[] args) { 
String sql = "SELECT * FROM /n" + 
" `testdb`.`foo` LIMIT 0, 100"; 
String s = "SELECT * FROM `testdb`.`foo` LIMIT 0, 100"; 
String sql2 = Pattern.compile(" {2,}").matcher(s).replaceAll(" "); 
String sql3 = s.replaceAll(" {2,}"," "); 
String sql4 = sql.replace('/r', ' ').replace('/n', ' ').replaceAll(" {2,}"," ");; 
String sql5 = sql.replace('/r', ' ').replace('/n', ' ').replaceAll(" {2,}?"," ");; 
String sql6 = sql.replace('/r', ' ').replace('/n', ' ').replaceAll(" {2,}+"," ");; 
System.out.println(sql2); 
System.out.println(sql3); 
System.out.println(sql4); 
System.out.println(sql5); 
System.out.println(sql6); 

輸出結果: 
復制代碼代碼如下:

SELECT * FROM `testdb`.`foo` LIMIT 0, 100 
SELECT * FROM `testdb`.`foo` LIMIT 0, 100 
SELECT * FROM `testdb`.`foo` LIMIT 0, 100 
SELECT * FROM `testdb`.`foo` LIMIT 0, 100 
SELECT * FROM `testdb`.`foo` LIMIT 0, 100 
[code] 
Process finished with exit code 0 
結果可以看出,有一個是沒有去掉多余空格的。 

可見java中的正則式,同樣含義的還有多重寫法,呵呵!其實主要是不同數量詞匹配模式在作怪: 

原版API文檔中寫道:

Greedy 數量詞 

X? X,一次或一次也沒有 
X* X,零次或多次 
X+ X,一次或多次 
X{n} X,恰好 n 次 
X{n,} X,至少 n 次 
X{n,m} X,至少 n 次,但是不超過 m 次 

Reluctant 數量詞 

X?? X,一次或一次也沒有 
X*? X,零次或多次 
X+? X,一次或多次 
X{n}? X,恰好 n 次 
X{n,}? X,至少 n 次 
X{n,m}? X,至少 n 次,但是不超過 m 次 

Possessive 數量詞 

X?+ X,一次或一次也沒有 
X*+ X,零次或多次 
X++ X,一次或多次 
X{n}+ X,恰好 n 次 
X{n,}+ X,至少 n 次 
X{n,m}+ X,至少 n 次,但是不超過 m 次 


但是,沒有對三種方式進行更詳細的說明,其實三種模式的區別如下: 

Greedy :嘗試找到最長的匹配。 
Reluctant :嘗試找到最短的匹配。 
Possessive :也嘗試找到最長的匹配。 

盡管greedy和possessive迫使一個matcher在進行第一次匹配之前讀取整個的text,greedy常常導致為了找到一個match進行多次嘗試,然而possessive讓一個matcher僅嘗試一個match一次。 

下面是一個我工具中的方法: 
[code] 
/** 
* 判斷一條SQL語句是否已經是分頁的SQL 

* @param sql 源SQL 
* @return 是已經分頁的SQL時返回ture,否則返回False; 
*/ 
public boolean isAlreadySegmentSQL(String sql) { 
return sql.replace('/r', ' ').replace('/n', ' ').replaceAll(" {2,}", " ").matches("(?i).+LIMIT [//d+ *|//d *, *//d+].+"); 

還是正則功能強悍??! 

補充: 
下面這個兩個注視的正則式,和第三個語意一樣的: 
復制代碼代碼如下:

// regList.put("(?i)bit//([2-9]//)//z", "byte[]"); 
// regList.put("(?i)bit//(//d{2,}//)//z", "byte[]"); 
regList.put("(?i)bit//((//d{2,}|[2-9])//)//z", "byte[]"); 

本文出自 “熔 巖” 博客

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品久久久久久久久久久| 日韩欧美精品中文字幕| 日韩精品在线电影| 欧美一级视频一区二区| 亚洲有声小说3d| 在线播放国产一区中文字幕剧情欧美| 国产亚洲xxx| 98精品在线视频| 2020欧美日韩在线视频| 欧美国产日韩在线| 91久久久久久| 国产精品免费小视频| 97精品久久久中文字幕免费| 国产精品高潮粉嫩av| 日韩美女在线播放| 久久69精品久久久久久久电影好| 中文字幕欧美精品在线| 国产精品久久久久久五月尺| 性欧美视频videos6一9| 欧美亚洲另类激情另类| 亚洲国产成人久久综合一区| 日韩在线观看视频免费| 亚洲2020天天堂在线观看| 91精品国产综合久久香蕉922| 精品香蕉在线观看视频一| 国产精品久久久久99| 亚洲欧美国产精品专区久久| 亚洲国产精久久久久久久| 亚洲在线www| 欧美性69xxxx肥| 欧美日韩国产第一页| 久久色在线播放| 久久精品男人天堂| 奇米影视亚洲狠狠色| 国产日韩欧美在线视频观看| 欲色天天网综合久久| 久久久久久91| 美女扒开尿口让男人操亚洲视频网站| 日韩中文字幕在线| 美日韩丰满少妇在线观看| 国产精品日韩在线播放| 97福利一区二区| 欧美日韩在线视频一区二区| 欧美日韩久久久久| 97色伦亚洲国产| 久久久国产一区二区三区| 久久久久久国产免费| 久久午夜a级毛片| 亚洲成人网av| 久久九九国产精品怡红院| 成人亲热视频网站| 欧美极品欧美精品欧美视频| 欧美大尺度电影在线观看| 国内精品400部情侣激情| 丝袜美腿亚洲一区二区| 亚洲高清一二三区| 51精品国产黑色丝袜高跟鞋| 中文字幕亚洲欧美日韩高清| 久久精品最新地址| 日韩精品中文在线观看| 国产成人精品免费久久久久| 欧亚精品中文字幕| 亚洲一区二区三区四区视频| 激情久久av一区av二区av三区| 91福利视频网| 久久视频在线视频| 亚洲人午夜精品| 亚洲成色777777在线观看影院| www.欧美精品一二三区| 精品国产一区二区三区在线观看| 国产精品视频地址| 欧美日韩在线免费观看| 日本精品免费一区二区三区| 亚洲欧美在线免费观看| 国产精品h片在线播放| 亚洲视频免费一区| 欧美日本在线视频中文字字幕| 国产精品入口福利| 精品日本美女福利在线观看| 国产精品伦子伦免费视频| 亚洲国产成人爱av在线播放| 色综合久久久久久中文网| 色yeye香蕉凹凸一区二区av| 亚洲国产精品热久久| 欧美精品videossex88| 欧美性生交xxxxxdddd| 欧日韩在线观看| 中文字幕日韩高清| 日韩av影视在线| 亚洲精品97久久| 中文欧美在线视频| 亚洲在线一区二区| 久久亚洲精品中文字幕冲田杏梨| 26uuu久久噜噜噜噜| 不卡伊人av在线播放| 2019亚洲男人天堂| 成人女保姆的销魂服务| 欧美性在线观看| 亚洲第一视频网站| 精品久久中文字幕久久av| 亲爱的老师9免费观看全集电视剧| 日韩在线观看精品| 日韩在线观看免费高清完整版| 亚洲国产成人久久综合| 日韩精品在线播放| 国产亚洲人成网站在线观看| 欧美日韩国产一区中文午夜| 国产一区二区欧美日韩| 精品福利一区二区| 日韩精品亚洲精品| 7777精品久久久久久| 欧美亚洲日本网站| 欧美成人免费一级人片100| 91香蕉嫩草神马影院在线观看| 日韩在线激情视频| 青青草成人在线| 欧美日韩国产精品一区二区不卡中文| 成人乱色短篇合集| 亚洲男人的天堂网站| 国产精品白嫩初高中害羞小美女| 97在线免费观看视频| 欧美性猛交xxxx黑人猛交| 2019中文字幕在线| 亚洲qvod图片区电影| 国产精品视频精品视频| 国产美女精品视频免费观看| 亚洲一区二区久久久| 国产精品视频自拍| 国产精品你懂得| 亚洲国产精品久久91精品| 精品国产网站地址| 国产精品久久一区| 亚洲激情自拍图| 伊人一区二区三区久久精品| 国产精品日日摸夜夜添夜夜av| 国产精品久久久久久久久久久不卡| 亚洲无av在线中文字幕| 在线视频欧美日韩| 欧美激情日韩图片| 国产成人福利网站| 国产精品私拍pans大尺度在线| 91精品国产高清自在线| 中文综合在线观看| 国产精品99一区| 国产91精品视频在线观看| 国产精品1234| 色偷偷噜噜噜亚洲男人的天堂| 国产欧美中文字幕| 欧美激情区在线播放| www日韩中文字幕在线看| 欧美一区二粉嫩精品国产一线天| 亚洲精品久久久一区二区三区| 亚洲欧美激情视频| 亚洲免费视频在线观看| 久久精品这里热有精品| 欧美一区二区三区……| 91国自产精品中文字幕亚洲| 欧美精品激情blacked18| 欧美亚州一区二区三区| 欧美成人在线影院| 欧美一区亚洲一区| 91精品国产高清久久久久久91| 亚洲欧美日韩直播| 91日本在线视频|