摘要:
一、捕获组的概念捕获组可以通过从左到右计算其开括号来编号,编号是从1 开始的。例如,在表达式((A)(B(C)))中,存在四个这样的组:1((A)(B(C)))2(A)3(B(C))4(C)组零始终代表整个表达式。 以(?)开头的组是纯的非捕获组,它不捕获文本,也不针对组合计进行计数。与组关联的捕获输入始终是与组最近匹配的子序列。如果由于量化的缘故再次计算了组,则在第二次计算失败时将保留其以前捕获的值(如果有的话)例如,将字符串"aba"与表达式(a(b)?)+相匹配,会将第二组设置为"b"。在每个匹配的开头,所有捕获的输入都会被丢弃。二、详解Patte 阅读全文
摘要:
一.理论准备 Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。 TreeMap:基于红黑树(Red-Black tree)的 NavigableMap 实现,该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 Comparator 进行排序,具体取决于使用的构造方法。 HashMap的值是没有顺序的,它是按照key的HashCode来实现的,对于这个无序的HashMap我们要怎么来实现排序呢?参照TreeMap的value排序。 Map.Entry返回Collections视图。二.key排序 TreeM 阅读全文
摘要:
//统计某个字符出现的次数privatevoidcountSubString(){Stringstring1="香蕉、玉米、面粉";Stringstring2="香蕉、玉米、面粉";Stringstring3="牛奶、鸡蛋";StringBufferstringBuffer=newStringBuffer();stringBuffer.append(string1).append("、").append(string2).append("、").append(string3).append(&q 阅读全文
摘要:
我的一个朋友问我,怎么在c#或vb.net中,计算一个字符串中查找另一个字符串中出现的次数,他说在网上打了好多方法,我看了一下,有的是用replace的方法去实现,这种方法不是太好,占资源太大了。其实如果用正则表达式Regex类,去计算一个字符串出现的次数方法最为简单实用。using System.Text;using System.Text.RegularExpressions;string str2 = TextBox1.Text;string str1 = Label1.Text;Regex RegexWords = new Regex( str2 );int WordCount = R 阅读全文
摘要:
public class Test{ public static void main(String[] args) { String s="hello jack hello look me to see nohello"; String target="hello";//甚至可以为正则表达式 int count=0; while(s.indexOf(target)>=0){ s=s.replaceFirst(target, ""); System.out.println(s); count++; } System.out.pri 阅读全文