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

首頁 > 編程 > regex > 正文

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

2020-01-20 22:15:13
字體:
來源:轉載
供稿:網友
復制代碼 代碼如下:

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
欧美福利在线观看| 精品久久久久久中文字幕一区奶水| 亚洲美女动态图120秒| 亚洲精品综合久久中文字幕| 国产亚洲精品久久| 韩国一区二区电影| 国产精品丝袜久久久久久不卡| 国产91热爆ts人妖在线| 国产91热爆ts人妖在线| 日韩精品视频在线播放| 亚洲一区999| 亚洲黄色免费三级| 欧美日韩亚洲天堂| 亚洲美女免费精品视频在线观看| 精品国产成人在线| 秋霞av国产精品一区| 亚洲激情在线观看视频免费| 欧美日本精品在线| 欧美激情精品久久久久久蜜臀| 免费91麻豆精品国产自产在线观看| 日韩亚洲成人av在线| 亚洲国产另类久久精品| 久久久久久久久久久网站| 久久精品亚洲一区| 亚洲品质视频自拍网| 成人网中文字幕| 欧美日韩亚洲精品一区二区三区| 国模私拍一区二区三区| 亚洲美女视频网站| 日韩av手机在线观看| 精品久久久久久久久国产字幕| 岛国av一区二区三区| 欧美日韩国产第一页| 国产精品视频播放| 亚洲美女免费精品视频在线观看| 亚洲成人黄色在线| 日韩视频欧美视频| 亚洲成av人影院在线观看| 欧美性猛xxx| 亚洲高清在线观看| 国产97在线|日韩| 国产精品美女免费视频| 欧美裸体xxxxx| 欧美亚洲另类制服自拍| 日韩欧美中文字幕在线观看| 亚洲成人a**站| 久久久久久尹人网香蕉| 国产精品尤物福利片在线观看| 亚洲国产精品成人精品| 亚洲国产成人爱av在线播放| 亚洲欧洲在线播放| 亚洲精品久久久久久久久久久久久| 自拍亚洲一区欧美另类| 国产精品精品视频| 免费91在线视频| 日韩中文字幕视频| 少妇高潮 亚洲精品| 国产一区二区视频在线观看| 欧美—级高清免费播放| 国产色婷婷国产综合在线理论片a| 91禁国产网站| 性色av一区二区三区| 欧美一级在线亚洲天堂| 精品久久久久久亚洲国产300| 91在线|亚洲| 日韩成人中文字幕在线观看| 国产91ⅴ在线精品免费观看| 欧美日韩成人在线观看| 亚洲春色另类小说| 2018国产精品视频| 美女扒开尿口让男人操亚洲视频网站| 久久亚洲国产精品| 日韩中文字幕第一页| 亚洲free性xxxx护士hd| 欧美国产欧美亚洲国产日韩mv天天看完整| 欧美精品video| 久久精品91久久久久久再现| 国产精品美女网站| 久久在线观看视频| 成人情趣片在线观看免费| 亚洲老司机av| 欧美老肥婆性猛交视频| 国产福利精品视频| 亚洲伊人成综合成人网| 国产成人午夜视频网址| 欧美激情一区二区久久久| 国产精品爽爽爽爽爽爽在线观看| 亚洲欧美激情一区| 欧美一区二区大胆人体摄影专业网站| 欧美性极品xxxx做受| 亚洲美女在线看| 欧美一区在线直播| 欧美成人免费一级人片100| 国产精品综合不卡av| 亚洲精品v天堂中文字幕| 亚洲精品国产综合区久久久久久久| 亚洲韩国日本中文字幕| 欧美韩日一区二区| 亚洲精品久久视频| 国内精品视频在线| 日韩在线资源网| 日韩精品www| 欧美激情亚洲自拍| 久久伊人免费视频| 亚洲福利视频在线| 日韩av一区二区在线| 韩剧1988免费观看全集| 国产精品欧美激情| 欧美日韩亚洲天堂| 亚洲va码欧洲m码| 日韩在线免费视频| 亚洲最大激情中文字幕| 成人福利网站在线观看| 亚洲最大av网| 综合国产在线视频| 91久久精品日日躁夜夜躁国产| 亚洲精品美女网站| 精品人伦一区二区三区蜜桃网站| 国产精品伦子伦免费视频| 国产一区二区三区网站| 91禁国产网站| 91精品国产九九九久久久亚洲| 国产精品久久久久久一区二区| 亚洲日韩中文字幕| 姬川优奈aav一区二区| 亚洲一区制服诱惑| 91在线观看免费高清完整版在线观看| 亚洲欧美激情精品一区二区| 久久亚洲精品中文字幕冲田杏梨| 国产精品久久久久久久久久久久久久| 久久亚洲春色中文字幕| 国产综合香蕉五月婷在线| 亚洲成年人影院在线| 日韩中文字幕视频在线观看| 亚洲国产成人在线播放| 欧美激情精品久久久久久黑人| 亚洲香蕉成人av网站在线观看| 国产亚洲视频中文字幕视频| 最新国产精品亚洲| 亚洲最大中文字幕| 精品国产依人香蕉在线精品| 91精品国产91久久久久久吃药| 欧美噜噜久久久xxx| 高跟丝袜欧美一区| 国产伦精品一区二区三区精品视频| 国产视频在线观看一区二区| 亚洲欧美激情另类校园| 国产在线一区二区三区| 亚洲精品www久久久久久广东| 欧美自拍视频在线观看| 亚洲成人精品视频在线观看| 在线性视频日韩欧美| 日韩精品极品毛片系列视频| 欧美精品生活片| 中文欧美在线视频| 欧美电影在线观看高清| 91精品国产乱码久久久久久蜜臀| 97精品国产aⅴ7777| 国产精品777| 日韩av中文字幕在线免费观看| 国产精品免费在线免费| 欧美成人一区在线| 97涩涩爰在线观看亚洲| 亚洲国产日韩欧美在线动漫|