Flex RegExp 到 Java RegExp [英] Flex RegExp to Java RegExp

查看:29
本文介绍了Flex RegExp 到 Java RegExp的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

最近我正在寻求帮助以在 flex 中使用 RegExp 提取一些 URL 模式,很少有人帮助我完成它.看这个我需要在 java 层再做一次,我尝试在 java 中应用相同的 regExp 模式,但它给了我一个错误.

Recently i was looking for help to extract some pattern of a URL using RegExp in flex, Few guys kindly helped me to get it done. See this I need to do it again in java layer, i tried to applied the same regExp pattern in java, but it gives me an error.

var s:String = "www.something.com@param1={{^User Name^}},{{^,e,^}},param2={{^user id^}}";
var userPattern:RegExp = /(?<=param1=)({{\^)([A-Za-z0-9\^}}{{, ])*(})/;
var userIdPattern:RegExp = /(?<=param2=)({{\^)([A-Za-z0-9\^}}{{, ])*(})/;
s = s.replace(userPattern,'username');
s = s.replace(userIdPattern,'user_id');

这给出了 www.something.com@param1=username,param2=user_id.

This gives the www.something.com@param1=username,param2=user_id.

谁能帮我在java层做这个,相关的正则表达式就足够了.

Can somebody help me out to do this in java layer, relavent regular expression is enough.

这是我在java中尝试过的,

This is what i tried in java,

String url = "http://www.google.com/@param1={{^Case Name^}},param2={{^Case Id^}}";
String urlPattern = "/({{\\^)([A-Za-z0-9_\\^}}{{, ])*(})/";
Pattern paramPattern = Pattern.compile(urlPattern);     
Matcher matcher = paramPattern.matcher(url);       
System.out.println("Matches - "+matcher.matches());
System.out.println("Find - "+matcher.find());

它给出了这个错误

线程main"中的异常java.util.regex.PatternSyntaxException:索引1附近的非法重复/({{\^)([A-Za-z0-9_\^}}{{, ])*(})/

Exception in thread "main" java.util.regex.PatternSyntaxException: Illegal repetition near index 1 /({{\^)([A-Za-z0-9_\^}}{{, ])*(})/

推荐答案

{ 是 Java 正则表达式中的元字符,用于有界重复,例如a{1,2} 匹配至少 1 个,最多 2 个a".由于您不使用它进行重复,因此您应该使用 \\ 对每个 { 进行转义.

{ is a meta character in Java regexes, for bounded repetition, e.g. a{1,2} matches at least 1, at most 2 'a's. As you are not using it for repetition, you ought to escape each { with \\.

这篇关于Flex RegExp 到 Java RegExp的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆