正则表达式的贪婪匹配和非贪婪匹配
发布时间:2020-12-14 02:20:50 所属栏目:百科 来源:网络整理
导读:By default,pattern matching is greedy,which means that the matcher returns the longest match possible. For example,applying the pattern A.*c to AbcAbcA matches AbcAbc rather than the shorter Abc . To do nongreedy matching,a question mark m
By default,pattern matching is greedy,which means that the matcher returns the longest match possible. For example,applying the pattern
// Greedy quantifiers String match = find("A.*c","AbcAbc"); // AbcAbc match = find("A.+","AbcAbc"); // AbcAbc // Nongreedy quantifiers match = find("A.*?c","AbcAbc"); // Abc match = find("A.+?","AbcAbc"); // Abc // Returns the first substring in input that matches the pattern. // Returns null if no match found. public static String find(String patternStr,CharSequence input) { Pattern pattern = Pattern.compile(patternStr); Matcher matcher = pattern.matcher(input); if (matcher.find()) { return matcher.group(); } return null; }
注:本文转载自:http://www.zsm8.com/book/java_Exa/java.util.regex/Greedy.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ruby-on-rails – 如何在Ruby / Rails中匹配和替换模板标签
- Oracle中rank() over, dense_rank(), row_number() 的区别
- C语言中 * “星号”的九种用法
- 在erb中使用ruby数组作为javascript数组.逃避报价
- Flex的 Event中属性currentTarget与target的区别
- Flash Builder的控制台(console)乱码解决
- ulink下在ram和flash中调试stm32的方法
- c# – Clean Rebuild和Clean Build之间有什么区别吗?
- ruby – 手动生成Rails缓存密钥
- Nor Flash和Nand Flash用途