锁定老帖子 主题:java利用正则表达式来获取字符串中的数据
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2012-09-13
将一个类似于 name="alvin1",password="alvin2",mail="alvin3",sex="alvin4"的字符串中,等号后面引号中的内容获取出来,字符串可以无限的加长,和加逗号加表达式 package org.alvin.regex; import java.util.regex.Matcher; import java.util.regex.Pattern; public class ExpressionDemo { /** * java利用正则表达式做拆分和获取值的例子 * * @author 唐植超 ^_^ * */ public static void main(String[] args) { String text = "name=\"alvin1\",password=\"alvin2\",mail=\"alvin3\",sex=\"alvin4\""; Pattern pa = Pattern.compile(".+=\"(.+)\""); Matcher ma = pa.matcher(text); do { int end = text.indexOf(","); if (end > -1) ma.region(0, end); if (!ma.matches()) break; System.out.println(ma.group(1)); if (end == -1) break; text = text.substring(end + 1); ma = ma.reset(text); } while (true); } } 首先声明,本人只是分享,别在下面骂人, 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2012-09-13
最后修改:2012-09-13
http://ansjsun.iteye.com/blog/1150903 看看这个
|
|
返回顶楼 | |
发表时间:2012-09-13
本来不想骂人的,不过看到LZ最后一句话,不想都对不起iteye了。就这种东西也拿出来分享?难怪iteye越来越不济越来越没水平了,唉,林子大了,什么鸟都有,也就参差不齐了。
|
|
返回顶楼 | |
发表时间:2012-09-13
BTW, 代码风格真烂。
|
|
返回顶楼 | |
发表时间:2012-09-13
import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test { /** * @param args */ public static void main(String[] args) { String text = "name=\"alvin1\",password=\"alvin2\",mail=\"alvin3\",sex=\"alvin4\""; Pattern pa = Pattern.compile("([a-zA-Z]+)=\\\"([^\\\"]+)\\\""); Matcher mc = pa.matcher(text); while(mc.find()){ System.out.println(mc.group(1)+"="+mc.group(2)); } } } 要我写肯定写成这样 |
|
返回顶楼 | |
发表时间:2012-09-13
没看出来哪里值得分享。。。
|
|
返回顶楼 | |
发表时间:2012-09-13
楼上的 你们看了最后一句了么?
"首先声明,本人只是分享,别在下面骂人," 不想看可以绕道..讨论技术不是炫耀..也许一年前你连正则都不会写呢..有意思么? 各有所长...我觉得是个氛围..iteye的氛围就被这个摧毁了 |
|
返回顶楼 | |
发表时间:2012-09-14
ansjsun 写道 楼上的 你们看了最后一句了么?
"首先声明,本人只是分享,别在下面骂人," 不想看可以绕道..讨论技术不是炫耀..也许一年前你连正则都不会写呢..有意思么? 各有所长...我觉得是个氛围..iteye的氛围就被这个摧毁了 ------------------------------------------------------------- 谢谢这位仁兄了! 本人其实工作3年了,但是不懂java正则这块的,前几天碰到问题了,就是上面那段代码,其实这段代码是有bug的,等于号如果出现逗号或者\"就没法解决了。 我有代码洁癖,看不惯这段代码,总觉得能改,却不知道怎么改,无奈之际,我去悬赏,提问,没人理我, 昨天看到有人在收集日本的品牌,地下的人一片谩骂,“XXX产品怎么都没写!”,我意识到只要有人骂你,你就能找到正确答案,我已经看到正确答案了…… iteye其实是个不错的平台,但现在却像个泥潭,里面藏满了大嘴巴的鳄鱼,如果你不动,没人说什么,一旦有人想从上面游过,就会有鳄鱼冒出来要人,为了活命,只好踩着鳄鱼的头过去了…… 感谢所有回帖的人 |
|
返回顶楼 | |
发表时间:2012-09-14
现在的程序员越来越那个了,写得不好还不让人骂,估计在公司不知被骂多少了。要能够敢于承认自己写得烂,才能得到别人的指正,如果有哪一天不再有任何人再批评你的代码了,那只有两种情况:1,你的代码无懈可击;2,你懂的。
就这代码还被放到了首页,只能说这个网站确实没落了,没落了,然后没落了。 |
|
返回顶楼 | |
发表时间:2012-09-14
我曾经问过一个大牛,我说为什么中国不像外国那样出那么多的年轻牛B的程序员,比Linus,Rod之流,他们都很年轻,为什么国内这个年龄层次的都几乎没有达到这种高度的程序员出现?他说氛围不同。国外的氛围要好,经常有社会活动俱乐部之类的,经常会在一起討論,并且是討論,可能会为技术而争得面红耳赤,但不会有人身攻击,讨论完之后还是有说有笑。
而国内。。。。假设一个人的代码写得不好,然后贴了上来,然后有人就说写得很烂。这很显然只是针对代码的评价,没有任何恶意。而这时候,LZ就回贴到:xxx,我只是怎样怎样,你为什么要这样子来说我?XXX,一下子就转到人身攻击的层次了。久而久之之后,要么LZ不再发贴了,要么别人不再评论了。 最恶心的,发完之后来一句:只是分享,只是给大家看看,请大家不要怎样怎样,不要怎样怎样。我想说的是,如果你发出来不让别人指出不好的地方,难道只是为了得到别人的表扬,难道要下面的评论一片好一片顶,你才高兴?这样对你的技术有什么提高? 如果我们学有小成,骄傲一下是应该的,但是我们不应该就此拒绝那些学有大成的人的批评。牛B的人往往都很有特点,比如Linus,就把windows批评得比垃圾还垃圾,比如说乔帮主,也是最喜欢用垃圾来批评别人了,但是,我们要看到好的那一面,那对我们会有提高,然后提高,然后提高。 真心很怀念求伯君那个年代。 |
|
返回顶楼 | |