㈠ java正則表達式(如何判斷文件路徑合法,路徑例如:D:\測試\test.csv),請幫忙解答一下,謝謝。
java中"\"要轉義成"\\",如果路徑錯誤會報異常的,直接catch就OK了
㈡ 利用正則表達式判斷文件路徑是否有非法字元
java script: /[a-zA-Z0-9_]{4,10}/ java : ^ [a-zA-Z0-9_]{4,10}$ 大括弧中的是我隨意規定的范圍,你可以自己修改 去試試吧 有問題的話我再修改
㈢ java 正則表達式校驗路徑是否含有0907這樣的一級文件夾
publicstaticvoidmain(String[]args){
Stringregex=".*\\0901(\\.*|$)";
System.out.println("\\192.168.1.123\test\2015\0901".matches(regex));
System.out.println("\\192.168.1.123\test\2015\0901\aaa".matches(regex));
System.out.println("\\192.168.1.123\test\2015\1258".matches(regex));
System.out.println("\\192.168.1.123\test\2015\5412\aaa".matches(regex));
}
true
true
false
false
㈣ 如何利用java正則表達式匹配路徑中的文件名 D:\PjlWorkspace\monitor\ts\app-shang.xml 謝謝
/**
* @author eatonfang
* @version 1.0
*
*/
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// System.out.println()
String str1 = "D:/PjlWorkspace/monitor/ts/app-shang.xml";
String str2 = "app-shang.xml";
String regex = "[^(/|\\|\\\\|//)]+\\.[^(/|\\|\\\\|//)]+";
System.out.println(str2.matches(regex));
System.out.println(str1.replaceAll(regex, "name"));
}
}
運行結果:
true
D:/PjlWorkspace/monitor/ts/name
如果路徑分隔符只有/一種可能的話,就可以這樣寫: [^/]+\\.[^/]+
我是考慮到路徑分隔符還可以寫成\, \\, //, 這幾種可能,所以才寫成那樣子的
㈤ 請問這種狀態如何用正則表達式提取文件路徑
如果你要點DOC開始的路徑,前面都有D:/WEBSITE/EDOC,都是doc或docx小寫結尾的擴展名,比較簡單,可以用:
D:/WEBSITE/EDOC/(([A-Za-z0-9_]+/)+/[A-Za-z0-9_]+.docx?)
如果不一定是D盤,可以用下面的匹配整個路徑:
[A-F]:/([A-Za-z0-9_]+/)+/[A-Za-z0-9_]+.docx?
#如果正則選項使用忽略大小寫,正則可以少寫一些字元:
[a-f]:/([a-z0-9_]+/)+/[a-z0-9_]+.docx?
#這里假設盤符只有a~f,可以寫成a-z擴大范圍
㈥ java正則表達式匹配img路徑
package table;
public class FileTester
{
public static void main ( String[] args )
{
String reg = "(src[\\=\\s\'\"]+)http\\:\\/\\/img\\.\\.com\\/hi\\/[^\'\"]+([\'\"])";
String url = "sdfsdf<img src='https://gss0.bdstatic.com/70cFsjip0QIZ8tyhnq/hi/we.com' />sdf<img src='https://gss0.bdstatic.com/70cFsjip0QIZ8tyhnq/hi/we.com' />sf'";
url = url.replaceAll (reg, "$1$2");
System.out.println (url);
}
}
㈦ Java語言用正則表達式判斷文件目錄合法性
js">functiontestPath(){
varpath=/^[a-zA-Z]:[\]((?!)(?![^\/]*s+[\/])[w-]+[\/])*(?!)(?![^.]*s+.)[w-]+$/;
varbackuppath=document.getElementById("xxx");
if(path.test(backuppath)){
returntrue;
}else{
alert("請填寫正確路徑!");
returnfalse;
}
returntrue;
}
String format ="/^[a-zA-Z]:[\]((?!)(?![^\/]*s+[\/])[w-]+[\/])*(?!)(?![^.]*s+.)[w-]+$/";
㈧ 求java正則表達式,匹配pdf或者JPEG文件名。
摟著這個要看情況更具文件名特點來,
如果都是AD開頭,那麼:AD_.*?\.pdf
如果文件名沒有特點,但是在路徑中:[\\/].*?\.pdf
總之要弄懂原理靈活運用
㈨ Java中怎麼簡單的使用正則表達式
一個正則表達式就是由普通字元(例如大小寫字母)以及特殊字元(稱為元字元)組成的文字模式。該模式描述在查找文字主體時待匹配的一個或多個字元串。正則表達式作為一個模板,將某個字元模式與所搜索的字元串進行匹配。
在最簡單的情況下,一個正則表達式看上去就是一個普通的查找串。例如,正則表達式"java"中沒有包含任何元字元,它可以匹配"java"和"javascript"等字元串,但是不能匹配"Java"。
正則表達式不僅能進行字元串的匹配,還能進行字元串的提取、替換。
示例代碼:
String regEx = ".+/(.+)$";
String str = "D:/java/test.txt";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(str);
if (!m.find()){
System.out.println("文件路徑格式錯誤!");
return;
}
System.out.println(m.group(1));
運行結果:test.txt
正則表達式「.+/(.+)$」的含義就是:被匹配的字元串以任意字元序列開始,後邊緊跟著字元「/」,最後以任意字元序列結尾,「()」代表分組操作,這里就是把文件名做為分組,匹配完畢就可以通過Matcher 類的group方法取到所定義的分組了。需要注意的這里的分組的索引值是從1開始的,所以取第一個分組的方法是m.group(1)而不是m.group(0)。
㈩ 正則表達式從文件路徑中提取文件名
String input = "D:\\save\\任意文件名.pdf";
String regex = ".*\\\\([^\\.]+)\\..*";
input.replaceAll(regex, "$1");