正则表达式

I18NUtil.getValue(nrequest,null,"authority.error","抱歉,您无权限访问:");I18NUtil.getValue(nre... I18NUtil.getValue(nrequest, null, "authority.error", "抱歉,您无权限访问:");I18NUtil.getValue(nrequest, null, "authority.error", "抱歉,您无权限访问:");
这个字符串怎么用正则表达式查询到?字符串在同一行,要查询到2条记录
在同一行代码中连续多次调用I18NUtil.getValue方法,用I18NUtil\.getValue(.*,.*,.*,.*)这个正则会把多次调用的方法作为一个检索结果返回,我想把多次方法分别作为检索结果返回
展开
 我来答
cnbubble
推荐于2016-10-25 · TA获得超过2607个赞
知道大有可为答主
回答量:1990
采纳率:83%
帮助的人:783万
展开全部
不知道主要要匹配里面的什么内容,比如authority.error还是 "抱歉,您无权限访问:"?
比如第一个, 用:
authority\.error
进行Global匹配,查看匹配结果的匹配次数(matches.count)
也可以用循环方法一次一次地匹配,知道字符串结尾,判断匹配到的次数

如果要查询 调用I18NUtil\.getValue(.*,.*,.*,.*)的次数,你的写法是有问题的,这是因为正则的贪婪模式,会匹配尽可能多的字符。一种方法是在所有的 *后面加上?
变成:
I18NUtil\.getValue\(.*?,.*?,.*?,.*?\);
注意你的()没有转义
另一种方法:前提是如果( )里面没有其他的(),可以用:
I18NUtil\.getValue\([^\)]*\);
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式