0 0

正则表达式 怎么匹配文件名?5

比如说我有一个文件的全路径

String fullName = "/home/misJ/tmp/May/data/test.xml";


然后我想用正则表达式匹配出他的文件名

String fileName = "test.xml";


怎样些正则表达式?我写的好像不行,如果有好的欢迎分享,或者顺便帮忙看下我出的问题。

Matcher m = Pattern.compile("/.+?$").matcher(fullName );
if(m.find()) {
   return fileName.substring(m.start(),m.end()).replace("/","");
}else {
   return "";
}

问题补充:里面的表达式能稍微解释一下吗?

问题补充:很感谢,只是希望能解释一下
[^/\\\\]+$
的意思~
fmjsjx 写道
public static void main(String[] args) {
	String fullName = "/home/misJ/tmp/May/data/test.xml";
	Pattern pattern = Pattern.compile("[^/\\\\]+$");
	Matcher matcher = pattern.matcher(fullName);
	if(matcher.find()) {
		System.out.println(matcher.group());
	}
}

最好自己再测一下其他情况。

2011年5月24日 13:28

3个答案 按时间排序 按投票排序

0 0

采纳的答案

引用
里面的表达式能稍微解释一下吗?

[^/\\\\]+ 就是除了"/"和"\"外的字符一或多个,最后的"$"不用解释了吧

2011年5月24日 14:29
0 0

public static void main(String[] args) {
	String fullName = "/home/misJ/tmp/May/data/test.xml";
	Pattern pattern = Pattern.compile("[^/\\\\]+$");
	Matcher matcher = pattern.matcher(fullName);
	if(matcher.find()) {
		System.out.println(matcher.group());
	}
}

最好自己再测一下其他情况。

2011年5月24日 14:07
0 0

[^/]+\..+

2011年5月24日 14:02

相关推荐

    java正则表达式.pdf

    java正则表达式.pdfjava正则表达式.pdfjava正则表达式.pdfjava正则表达式.pdfjava正则表达式.pdf

    通过正则表达式来批量修改文件名

    批量修改文件名

    经典JavaScript正则表达式实战

    用正则表达式获得文件名... 7 绝对路径变相对路径... 8 用户名正则... 8 匹配英文地址... 8 正则匹配价格... 9 身份证号码的匹配... 10 要求文本有指定行数... 10 单词首字母大写... 10 正则验证日期格式... 11

    JS正则表达式教程.txt

    正则表达式实战... 1 匹配结尾的数字... 2 统一空格个数......判断字符串是不是由数字组成......用正则表达式获得文件名... 7 绝对路径变相对路径... 8 用户名正则... 8 匹配英文地址... 8 正则匹配价格... 9

    正则表达式简介(微软篇)

    关于正则表达式:正则表达式简介(微软篇)之一正则表达式 <br/>如果原来没有使用过正则表达式,那么可能对这个术语和概念会不太熟悉。不过,它们并不是您想象的那么新奇。 <br/>请回想一下在硬盘上是如何...

    [精通正则表达式(第三版)]

    使用正则表达式匹配文本 66 向更实用的程序前进 68 成功匹配的副作用 68 错综复杂的正则表达式 71 暂停片刻 77 使用正则表达式修改文本 78 例子:公函生成程序 78 举例:修整股票价格 79 自动的编辑

    精通正则表达式~~~

    使用正则表达式匹配文本... 38 向更实用的程序前进... 40 成功匹配的副作用... 40 错综复杂的正则表达式... 43 暂停片刻... 49 使用正则表达式修改文本... 50 例子:公函生成程序... 50 举例:修整股票价格....

    python使用正则表达式来获取文件名的前缀方法

    那么这个时候就可以使用正则表达式来匹配我们所需要的字符串。 实现 import re\ntest='kasduabshdvkjASVKDV.txt' m=re.findall(r'(.+?)\.',test) print(m) 我们所使用的是python正则表达式库,re库来进行快速正则...

    正则表达式经典实例

    3.6 检查正则表达式能否整个匹配目标字符串 3.7 获取匹配文本 3.8 决定匹配的位置和长度 3.9 获取匹配文本的一部分 3.10 获取所有匹配的列表 3.11 遍历所有匹配 3.12 在过程代码中对匹配结果进行验证 3.13 在...

    正则表达式经典实例.pdf

    3.6 检查正则表达式能否整个匹配目标字符串 3.7 获取匹配文本 3.8 决定匹配的位置和长度 3.9 获取匹配文本的一部分 3.10 获取所有匹配的列表 3.11 遍历所有匹配 3.12 在过程代码中对匹配结果进行验证 3.13 在另一个...

    正则表达式参考.pdf

    Regular Expressions Reference 正则表达式参考 什么是正则表达式  如果原来没有使用过正则表达式,那么... 字符匹配文件名中的单个字符,而 * 则匹配一个或多个字符。一个如 'data?.dat' 的模式可以找到下述文件:

    基于正则表达式的本地文件敏感信息数据挖掘助手(python)

    当想要排除部分类型文件,可以使用 -e 参数排除指定的文件,要注意这里是使用正则表达式进行文件名匹配的,比如程序可能搜索到以下文件 /tmp/aaa.so,如果不想搜索 .so 文件类型,可以使用正则表达式 .*so 程序会将 ...

    正则表达式.png

    正则表达式图,忘了在哪个网站下的。

    正则表达式

    例如:下面的正则表达式匹配的就是位于单引号或双引号之内的所有字 符.但是,它要求开始和结束的引号匹配(例如两个都是双引号或者都是单引号): /[' "] [^ ' "]*[' "]/ 如果要求开始和结束的引号匹配,我们可以...

    正则表达式教程

    正则表达式教程  正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。 <br>列目录时, dir *....

    ftp-client:遵循 FTP 协议的 Java FTP 客户端。 将输入的正则表达式与来自服务器的文件名匹配,并返回与正则表达式匹配的每个文件的前 20 行。 使用单独的线程进行命令连接和数据连接

    FTP客户端 遵循 FTP 协议的 Java FTP 客户端。 将输入的正则表达式与来自服务器的文件名匹配,并返回与正则表达式匹配的每个文件的前 20 行。 使用单独的线程进行命令连接和数据连接。 李珍妮

    文本三剑客之grep及正则表达式 -.pdf

    1. Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来(匹配到的标红)。 grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有...

    正则表达式的应用

    一、正则表达式概述 二、正则表达式在VBScript中的应用 三、正则表达式在VavaScript中的应用 四、示例 五、总结 一、正则表达式概述 如果原来没有使用过正则表达式,那么可能对这个术语和概念会不太熟悉。...

    linux下的通配符与正则表达式

    通配符的作用是用来匹配文件名的 正则表达式 正则表达式是在文件中匹配符合条件的字符串的 ls find cp是不支持正则表达式的 但是grep awk sed支持正则表达式 [root@hadoop-bigdata01 test]# touch aa [root@hadoop-...

Global site tag (gtag.js) - Google Analytics