java正则表达式

问题描述

求一个java正则表达式 匹配以下格式1、 /xmad-f000/000000/material/1/20110923164401105.jpg (规则:以/xmad-f开头后接三位数字 斜杠 六位数字 斜杠 material 斜杠 1 斜杠 任意字符.jpg或者.gif.png)2、images/logo.gif 或者 logo.gif 、 ../../images/logo.gif等(字符串规则:即相对图片路径 不以 c:/ d:/ e:/ f:/ 或者 http开头,以图片格式后缀结尾就好) 问题补充:Rainbow702 写道

解决方案

Pattern p=Pattern.compile( "/xmad-f[0-9]{3}/[0-9]{6}/material/1/.*[\.jpg)|(\.gif)|(\.png)]"); 或者 Pattern p=Pattern.compile("/xmad-f\d{3}/\d{6}/material/1/.*[\.jpg)|(\.gif)|(\.png)]"); 测试了没问题!
解决方案二:
Pattern p=Pattern.compile("/xmad-f[0-9]{3}/[0-9]{6}/material/1/.*[\.jpg)|(\.gif)|(\.png)]");或者Pattern p=Pattern.compile("/xmad-f\d{3}/\d{6}/material/1/.*[\.jpg)|(\.gif)|(\.png)]");测试了一下:引用 String date = "/xmad-f000/000000/material/1/201109223164401105.jpg"; Pattern p=Pattern.compile("/xmad-f\d{3}/\d{6}/material/1/.*[\.jpg)|(\.gif)|(\.png)]"); Matcher m = p.matcher(date); if (m.find()) { System.out.print("ok"); } else{ System.out.print("notok"); }
解决方案三:
引用1、 /xmad-f000/000000/material/1/20110923164401105.jpg (规则:以/xmad-f开头后接三位数字 斜杠 六位数字 斜杠 material 斜杠 1 斜杠 任意字符.jpg或者.gif.png) String pattern = "^/xmad\-fd{3}/d{6}/material/1/.*[(\.jpg)|(\.gif)|(\.gif)]$";不知道对不对

时间: 2024-08-01 13:18:34

java正则表达式的相关文章

java正则表达式匹配斜杠

在正则表达式里面匹配一个斜杠,需要用4个斜杠: Java代码 import java.util.regex.Matcher; import java.util.regex.Pattern; public class test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub String textString = new String ("\\\&q

Java正则表达式实现条件查询浅析

Java正则表达式实现条件查询实例是如何的呢?我们在实际开发的过程中会碰到这样子的实际需求,那么我们来看看具体的实现过程,希望对你有所帮助. Java正则表达式实现条件查询实例: //Java正则表达式实现条件查询的要求:以正则条件查询指定目录下文件 //用于缓存文件列表 private ArrayList files = new ArrayList(); //用于承载文件路径 private String _path; //用于承载未合并的正则公式 private String _regexp

Java正则表达式入门

大家都知道,正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的文字模式,它用以描述在查找文字主体时待匹配的一个或多个字符串.正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配. 自从jdk1.4推出java.util.regex包,就为我们提供了很好的JAVA正则表达式应用平台. 因为正则表达式是一个很庞杂的体系,所以我仅例举些入门的概念,更多的请参阅相关书籍及自行摸索. \\ 反斜杠 \t 间隔 ('\u000

Java正则表达式中的捕获组的概念及相关API使用

要弄清这三个方法,首先要弄清Java正则表达式中的捕获组的概念.捕获组也就是Pattern中以括号对"()"分割出的子Pattern.至于为什么要用捕获组呢,主要是为了能找出在一次匹配中你更关心的部分.捕获组可以通过从左到右计算其开括号来编号.例如,在表达式 "(x)(y\\w*)(z)" 中,存在三个这样的组:  1.  x2.  y\\w*3.  z组零始终代表整个表达式.之所以这样命名捕获组是因为在匹配中,保存了与这些组匹配的输入序列的每个子序列.捕获的子序列

java正则表达式的一个问题

问题描述 java正则表达式的一个问题 我现在需要写一个正则匹配 BA BC CA CB 中的一个,不分大小写,两字母中间可以有斜杠,这个组合可以出现两次,用逗号隔开 我写了这样一个正则,但是太长了,有简便一些的写法吗? [B|b]/?[A|a]|[C|c]/?[A|a]|[B|b]/?[C|c]|[C|c]/?[B|b]((,|,)[\s\p{Zs}]*[B|b]/?[A|a]|[C|c]/?[A|a]|[B|b]/?[C|c]|[C|c]/?[B|b])? 解决方案 正则中可以忽略大小写匹配

字符串-java正则表达式匹配数字

问题描述 java正则表达式匹配数字 G3811/ G3885/ G655/l G030/l G3849/ G0150/ G5292/ G955/l G025/l G5300/ 这是控制台输出的字符串,但是我只想要他的数字 怎么匹配 解决方案 Pattern p = Pattern.compile("[0-9]"); Matcher m = p.matcher(elem.attr("abs:href").substring(22, 28)); while (m.fi

java正则表达式匹配问题

问题描述 java正则表达式匹配问题 我现在有一个字符串 String str= "[权利要求 5] 如权利要求 4所述 的墨盒 ,其特征在于 :" 想要提取到第几号权力要求 Pattern p = Pattern.compile("^[权利要求 (d)]"); Matcher m = p.matcher(str); if(m.find()){ System.out.println("["+m.group()+"]"); }

java 正则表达式问题

问题描述 要将一下字符串中的红色字体部分用java正则表达式替换为空,正则表达式应该怎么样写? body/div[3][@class='content']/div[2][@class='content-outer']/div[2][@class='fauxborder-left content-fauxborder-left']/div[2][@class='content-inner']/div[2][@class='main-outer']/div[2][@class='fauxborder

java-求助关于Java正则表达式~~

问题描述 求助关于Java正则表达式~~ 现在已经用ICTCLAS完成了分词工作,结果如下:不/d 怎么/ryv 好/a ,/wd 摄像头/n 差/a 机型/n 薄/a ,/wd 外观/n 颜色/n 还/d 算/v 比较/d 好看/a 的/ude1 ,/wd 系统/n 什么/ry 的/ude1......想用正则表达式将其中标记为/n的词提取出来,不知道怎么写...求帮忙~ 解决方案 (?<=s)w+?/n

Java正则表达式的应用

在很多种情况下,我们都必须对字符串进行匹配,以便判断字符串的格式是否符合要求,对字符串中的内容进行提取.比如,我要从一段话aabdfe中,判断这段话是否有包含ab这个词,那么如果用if-else来判断的话,那么我们必须遍历整个字符串,当遇到一个a,记录一下状态,判断下一个是否是所要的b.这个过程随着要判断的内容(在这里是ab)和要被字符串的长度的增长,恶心程度递增.但是又因为字符串的判断实在是太常要用到啦,所以就有了正则表达式这么个东西,正则表达式其实就是一个字符串识别的规则,通过这个规则,我们