2 u013400939 u013400939 于 2017.01.03 16:10 提问

正则表达式获取指定字符串的操作 1C

如何通过正则表达式获取text2中 XXX.jsp的部分 不要前面或后面的内容
主要目的是要获取到xxx.jsp

public static String getPatternStr(){
// String text2 = "var strUrl = 'sdfs ss FourIStatify.jsp';";
// String text2 = "var strUrl = 'sh/so/sf/sdfs/FourIStatify.jsp';";
String text2 = "var strUrl = 'asdf sh/so/sf/sdfs/FourIStatify.jsp';";
String str = ".*^[A-Za-z0-9]+$.*.jsp";
Pattern p=Pattern.compile(str);
Matcher ma = p.matcher(text2);

    if( ma.find()){

        System.out.println(ma.group());
        return   ma.group();

    }
    return  null;
}

2个回答

qq_29594393
qq_29594393   Ds   Rxr 2017.01.03 16:18

做个字符串切割 String arr[]=splite("/");
获取最后一个数组成员 ,在切割一次 。正则不好 ,只会这样玩

qq_29594393
qq_29594393 回复Logica_: split(/[^A-Za-z]/); 数组的倒数第二个字符串就是你需要的。自己再拼接一个.jsp
12 个月之前 回复
u013400939
u013400939 回复当作看不见:但是xxx.jsp前面一个肯定不是字母
12 个月之前 回复
u013400939
u013400939 回复当作看不见:没有可用的切割条件 也可能是这样一串“var strUrl = 'abc+FourIStatify.jsp' "我需要匹配到xxx.jsp
12 个月之前 回复
qq_29594393
qq_29594393 回复Logica_: split(/[/a.d]/);//切割/ 或a或d 或。 在split 里面使用正则。把复杂的任务化为多个小问题。
12 个月之前 回复
u013400939
u013400939 不一定是/可以是其他形式
12 个月之前 回复
xiaoyazide
xiaoyazide   2017.01.03 17:11

试试ASCII码进行字符串范围切割,将字符串byte[]化,循环来寻找符合条件的切割点! 图片说明

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!