正则表达式
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(.*,.*,.*,.*)这个正则会把多次调用的方法作为一个检索结果返回,我想把多次方法分别作为检索结果返回 展开
这个字符串怎么用正则表达式查询到?字符串在同一行,要查询到2条记录
在同一行代码中连续多次调用I18NUtil.getValue方法,用I18NUtil\.getValue(.*,.*,.*,.*)这个正则会把多次调用的方法作为一个检索结果返回,我想把多次方法分别作为检索结果返回 展开
1个回答
展开全部
不知道主要要匹配里面的什么内容,比如authority.error还是 "抱歉,您无权限访问:"?
比如第一个, 用:
authority\.error
进行Global匹配,查看匹配结果的匹配次数(matches.count)
也可以用循环方法一次一次地匹配,知道字符串结尾,判断匹配到的次数
如果要查询 调用I18NUtil\.getValue(.*,.*,.*,.*)的次数,你的写法是有问题的,这是因为正则的贪婪模式,会匹配尽可能多的字符。一种方法是在所有的 *后面加上?
变成:
I18NUtil\.getValue\(.*?,.*?,.*?,.*?\);
注意你的()没有转义
另一种方法:前提是如果( )里面没有其他的(),可以用:
I18NUtil\.getValue\([^\)]*\);
比如第一个, 用:
authority\.error
进行Global匹配,查看匹配结果的匹配次数(matches.count)
也可以用循环方法一次一次地匹配,知道字符串结尾,判断匹配到的次数
如果要查询 调用I18NUtil\.getValue(.*,.*,.*,.*)的次数,你的写法是有问题的,这是因为正则的贪婪模式,会匹配尽可能多的字符。一种方法是在所有的 *后面加上?
变成:
I18NUtil\.getValue\(.*?,.*?,.*?,.*?\);
注意你的()没有转义
另一种方法:前提是如果( )里面没有其他的(),可以用:
I18NUtil\.getValue\([^\)]*\);
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询