◆驗證是否爲郵箱地址
String str="[email protected]"; Pattern pattern = Pattern.compile("[\\w\\.\\-]+@([\\w\\-]+\\.)+[\\w\\-]+", Pattern.CASE_INSENSITIVE); Matcher matcher = pattern.matcher(str); System.out.println(matcher.matches()); |
◆去除html標記
attern pattern = Pattern.compile("<.+?>", Pattern.DOTALL); Matcher matcher = pattern.matcher("<a href=\"index.html\">主頁</a>"); String string = matcher.replaceAll(""); System.out.println(string); |
◆查找html中對應條件字符串
Pattern pattern = Pattern.compile("href=\"(.+?)\""); Matcher matcher = pattern.matcher("<a href=\"index.html\">主頁</a>"); if(matcher.find()) System.out.println(matcher.group(1)); } |
◆截取http://地址
//截取url Pattern pattern = Pattern.compile("(http://|https://){1}[\\w\\.\\-/:]+"); Matcher matcher = pattern.matcher("dsdsds<http://dsds//gfgffdfd>fdf"); StringBuffer buffer = new StringBuffer(); while(matcher.find()){ buffer.append(matcher.group()); buffer.append("\r\n"); System.out.println(buffer.toString()); } |
◆替換指定{}中文字
String str = "Java目前的發展史是由{0}年-{1}年"; String[][] object={new String[]{"\\{0\\}","1995"},new String[]{"\\{1\\}","2007"}}; System.out.println(replace(str,object)); public static String replace(final String sourceString,Object[] object) { String temp=sourceString; for(int i=0;i<object.length;i++){ String[] result=(String[])object[i]; Pattern pattern = Pattern.compile(result[0]); Matcher matcher = pattern.matcher(temp); temp=matcher.replaceAll(result[1]); } return temp; } |
◆以正則條件查詢指定目錄下文件
//用於緩存文件列表 private ArrayList files = new ArrayList(); //用於承載文件路徑 private String _path; //用於承載未合併的正則公式 private String _regexp; class MyFileFilter implements FileFilter { /** * 匹配文件名稱 */ public boolean accept(File file) { try { Pattern pattern = Pattern.compile(_regexp); Matcher match = pattern.matcher(file.getName()); return match.matches(); } catch (Exception e) { return true; } } } /** * 解析輸入流 * @param inputs */ FilesAnalyze (String path,String regexp){ getFileName(path,regexp); } /** * 分析文件名並加入files * @param input */ private void getFileName(String path,String regexp) { //目錄 _path=path; _regexp=regexp; File directory = new File(_path); File[] filesFile = directory.listFiles(new MyFileFilter()); if (filesFile == null) return; for (int j = 0; j < filesFile.length; j++) { files.add(filesFile[j]); } return; } /** * 顯示輸出信息 * @param out */ public void print (PrintStream out) { Iterator elements = files.iterator(); while (elements.hasNext()) { File file=(File) elements.next(); out.println(file.getPath()); } } public static void output(String path,String regexp) { FilesAnalyze fileGroup1 = new FilesAnalyze(path,regexp); fileGroup1.print(System.out); } public static void main (String[] args) { output("C:\\","[A-z|.]*"); }