日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

字符串的快速匹配

發布時間:2025/3/20 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 字符串的快速匹配 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

功能需示:匹配字符串,如果該字符串里包含除了字母、數字、+、/、=這些字符以外的任何一個字符就是不符合要求,匹配時間越短越好。

實現思路:將每個字符的ASCII碼與符合要求的比較,不在范圍內的就不符合。這里有個技巧,因為由數據可知,大部都是字母,所以在寫判斷時,先判斷是否在字母范圍內。

當時我們領導說有正則來匹配,結果寫了很多都沒有我直接用的ASCII比對快。

代碼如下:

public class RegTest {public static void main(String[] args) {//除s以外的都不行String str = "AB/CDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";//對應ASCII碼://A-Z : 65-90 :26個//a-z : 97-122//0-9 : 48-57 :10個//+ : 43// /:47// =:61long startTime = System.currentTimeMillis();for(int i=0;i<1000000;i++){RegTest .reg(str);}long endTime = System.currentTimeMillis();System.out.println("共耗時:"+(endTime-startTime));}/*** 判斷字符串* @param str* @return true表示該字符串符合要求,false表示該字符串不符合要求* @author Peter*/public static boolean reg (String str){ char[] array = str.toCharArray();boolean flag = true;for(int i =0;i<array.length ;i++){int c = array[i];if(c > 64 && c <91){continue;}else if(c > 96 && c < 123){continue;}else if(c > 47 && c < 58){continue;}else if(c == 43){continue;}else if(c == 67){continue;}else if(c == 47){continue;}else if(c == 61){continue;}else{flag = false;break;}}return flag;}}

總結

以上是生活随笔為你收集整理的字符串的快速匹配的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。