正则表达式,扣取字符串

2009年5月14日星期四

正则表达式,扣取字符串

形如:我是{姓名},{学校}毕业,出身与{生日}
得到姓名,毕业,生日等字符

函数为:


Stringregex="\\{([^\\}]+)\\}";
Matchermatcher=pattern.matcher(staticTmsContent);
MapString,Stringmap=newHashMapString,String();
ListStringlist=newArrayListString();
while(matcher.find()){
Stringsign=matcher.group(1);
list.add(matcher.group(1));
}
returnlist;

regex分析

[]:里面表示字符只能在括号要里取值,如果[abc]则表示字母只能是
^:如果不在开头,则表示取相反的值
\\:转义需要\,所以java里面“\”需要“\\”表示
\\?:表示转义字符"?"
[^\\}]:字符范围除"?"所有的字符
matcher.group(1):注意matcher.group(0)表示匹配的这个字符,matcher.group(1)表示第一个()里面匹配的字符。如果group(0)则上面返回的是{姓名},{毕业},{生日}评论发表评论
您还没有登录,请登录后发表评论(快捷键Alt+S/Ctrl+Enter)hmh1985搜索本博客最近访客博客分类其他分类最近加入圈子存档最新评论评论排行榜声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。若作者同意转载,必须以超链接形式标明文章原始出处和作者。

0 评论:

发表评论