Java中正则表达式如何实现从右往左匹配?
如:美国/n正/d全力/d说服/v中国/n进一步/d执行/v必要/a的/u经济/n改革/v与/c环境/n保护/v工作/v。/w想找到“改革/v”左边字符串的最后一个“/n...
如:美国/n 正/d 全力/d 说服/v 中国/n 进一步/d 执行/v 必要/a 的/u 经济/n 改革/v 与/c 环境/n 保护/v 工作/v 。/w
想找到“改革/v”左边字符串的最后一个“/n”,即左边最邻近的一个。 展开
想找到“改革/v”左边字符串的最后一个“/n”,即左边最邻近的一个。 展开
4个回答
展开全部
我觉得你应该换个思路,你把源字符串和要匹配的字符串都反转一下,然后再检索,不就满足你的要求了吗。写程序很多时候都是采用迂回战术的。祝你好运
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
String subjectString=new String("0.0.0.0 0.255.255.255 CHINA 中国1");
String resultString = null;
try {
Pattern regex = Pattern.compile("(\\d) ");
Matcher regexMatcher = regex.matcher(subjectString);
try {
resultString = regexMatcher.replaceAll("$1,");
} catch (IllegalArgumentException ex) {
// Syntax error in the replacement text (unescaped $ signs?)
} catch (IndexOutOfBoundsException ex) {
// Non-existent backreference used the replacement text
}
} catch (PatternSyntaxException ex) {
// Syntax error in the regular expression
}
String resultString = null;
try {
Pattern regex = Pattern.compile("(\\d) ");
Matcher regexMatcher = regex.matcher(subjectString);
try {
resultString = regexMatcher.replaceAll("$1,");
} catch (IllegalArgumentException ex) {
// Syntax error in the replacement text (unescaped $ signs?)
} catch (IndexOutOfBoundsException ex) {
// Non-existent backreference used the replacement text
}
} catch (PatternSyntaxException ex) {
// Syntax error in the regular expression
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
(/n).*?改革/v
括号捕获后该咋咋的。
或者,正则表达式有个修饰符是从右往左匹配的,不清楚JAVA支不支持
括号捕获后该咋咋的。
或者,正则表达式有个修饰符是从右往左匹配的,不清楚JAVA支不支持
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询