[英]How to use regular expressions in this case?
字符串为:“ LinksImagesListCodeHt1233ddmlImagesConsider112dd2Download”,我想获取“ ImagesConsider112dd2Download”。 因此我使用了“ Images。*?Download”这个表达式。但是它与“ ImagesListCodeHt1233ddmlImagesConsider112dd2Download”匹配。正确的表达式应该是什么?
暂时,有一个丑陋的方法可以解决此问题:
Pattern p = Pattern.compile(StringUtils.reverse("Download")+ ".*?" + StringUtils.reverse("Images") ); String s = "LinksImagesListCodeHt1233ddmlImagesConsider112dd2Download"; s = StringUtils.reverse(s); Matcher m = p.matcher(s); while (m.find()){ m.end(); System.out.println(StringUtils.reverse(m.group())); }
要使“要Download
Images
之间的文本与其中不包含“ Images
”一词的文本相匹配,可以使用像这样的否定环视
Images((?!Images).)*Download
说明
Images
-匹配文字字符串Images
(?!Images).
-匹配不跟在Images
单词后面的字符
((?!Images).)*
-匹配零次或多次
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.