以图明志

开源项目与工具

简述用UCenter整合第三方应用程序

很容易将程序纳入UCenter体系中来
UCenter除了对实现用户通行,各个应用通用信息的存储和处理之外,还有一个重要的功能就是开放的接口协议,其他第三方应用程序通过简单修改,即可很容易将程序纳入UCenter体系中来,和其他应用共享用户以及其他数据 ,关于第三方应用程序的整合牵扯到的东西比较多,这里篇幅有限不能很详细的说,我只对整合概念上做一些描述。

开源项目与工具

uc_client是如何与UCenter进行通信的

整合程序历史上的创新
以用户登录为例介绍,其它注销,改密码,消息,头像,好友均类同。从用户xxx在某一应用程序的login.php,输入用户名,密码讲起。先用uc_user_login函数到uc_server验证此用户和密码,如正确,则写入session,写入cookies,并更新应用程序会员表中的登录ip,登录时间。用户感觉不到这个过程。

开源项目与工具

学习Linux究竟要学习哪些东西?

Linux基础学习路线
很多人想学习Linux,寻找linux基础学习线路,但是不知道从哪里着手。这里我为大家准备了Linux基础需要学习的一些东西,供大家借鉴使用,详细请参考下面给出的9点建议。Linux程序工程师非常吃香,以后肯定是个红火的职业。不管怎样,只要努力去学,你会发现一片美好的风景。

开源项目与工具

高效准确的正则表达式的书写方法

避免误匹配与漏匹配
如果纯粹是为了挑战自己的正则水平,用来实现一些特效(例如使用正则表达式计算质数、解线性方程),效率不是问题;如果所写的正则表达式只是为了满足一两次、几十次的运行,优化与否区别也不太大。但是,如果所写的正则表达式会百万次、千万次地运行,效率就是很大的问题了。

开源项目与工具

[专题] 正则入门:非获取匹配

只进行匹配,不保存结果供以后引用
我们首先查看一下表达式的区别,为了要使用后向引用,我们用“(”和“)”把“[\w.]+\b”包起来,使它成为一个子模式。我们知道,只有这样,才可以用 $1 去引用它,这里,我们发现使用子模式的一个作用:系统会在幕后将所有的子模式保存起来,以供后向引用使用(包含查找时的后向引用 和 替换时的后向引用)。

开源项目与工具

[专题] 正则入门:后向引用文本替换

替换电话号码格式
正则表达式的三部曲应该是:1、查找;2、引用匹配了的文本(后向引用);3、有选择地替换文本。需要注意的是:大部分语言的正则表达式实现,在查找中,使用后向引用来代表一个子模式,其语法是“\数字”;而在替换中,其语法是“$数字”。

开源项目与工具

[专题] 正则入门:“或”匹配

reg1|reg2
在正则表达式中,可以使用“|”将一个表达式拆分成两部分“reg1|reg2”,它的意思是: 匹配所有符合表达式 reg1 的文本 或者 符合表达式 reg2 的文本。有的时候,我们要取消某段文字中的加粗、斜体等效果,我们想匹配所有的“<b>”、“</b>”或者 “<i>”、“</i>”,然后把它们替换成空。

开源项目与工具

[专题] 正则入门:子模式

用小括号将模式中的子字符串括起来
在正则表达式中,可以使用“(”和“)”将模式中的子字符串括起来,以形成一个子模式。将子模式视为一个整体时,那么它就相当于一个单个字符。我们可以将匹配过程理解成这样:子模式“(<br\s*\/?>)”首先匹配所有“<br>”、“<br/>”或“<br />”;然后,将每一个匹配结果视为一个整体(相当于单个字符);接着,匹配这个整体连续出现两次或以上的文本。

开源项目与工具

谈谈正则表达式常用的一些技巧

技巧总结
正则表达式在现在web的应用当中,如表单验证,url解析等,应用非常方便,比起普通的字符串解析性能上也高出不少。这里就做一些关于正则表达式通用技巧的个人小总结。头尾的^$即是限定匹配的必须是整个字符串,而不是其中一部分,这对于表单验证里验证完整的合法输入很有用。

开源项目与工具

[专题] 正则入门:匹配文本首和尾

^开头与结尾$
有的时候,我们想要匹配的字符串必须位于全部文本的首位。在正则表达式中,可以在 匹配模式 的第一个字符前添加 “^”,以匹配 满足模式且位于全部文本之首的字符串。可以将它的匹配方式理解成这样:假设不存在“^”,进行一个正常匹配,将所有匹配的文本保存到匹配集合中。

开源项目与工具

[专题] 正则入门:匹配非单词边界

匹配不在边界的字符
和 前面 匹配特定类型字符有些相似,有了“\b”,自然有“\B”,它用来匹配不在边界的字符。我们继续拿上面的例子做示范,来看看“\Bmagic”匹配的效果。它的匹配规则是这样的:字符“m”必须出现,但是不能位于字符串首位;随后跟两个固定字符a, g, i, c。

开源项目与工具

[专题] 正则入门:边界的定义与相对性

究竟什么才算边界?
讲了这么多,还漏掉了一个重要的内容:究竟什么才算边界?通常情况下,以 空格、段落首行、段落末尾、逗号、句号 等符号作为边界,值得注意的是,分隔符“-”也可以作为边界。其实很好理解,从“-”的字面意思:分隔符,大致就可以想到了。实际上,在英语中,它是用来做单词分隔的。

开源项目与工具

[专题] 正则入门:匹配单词边界

\bmagic\b
可见,通常情况下,我们只希望匹配 magic ,而不希望匹配 nowamagic 中出现的 magic。正则表达式中,可以在 字符 前加“\b”,来匹配其 后面 的字符位于字符串首位的字符。以后提到 字符,指:单个字符(比如“j”)、字符组(比如“[abcde]”)、特定字符类型(比如“\d”)、转义过的特殊字符“\[” 或者 单个任意字符(即“.”)。

开源项目与工具

[专题] 正则入门:两个匹配模式

一个?号与两个?号
现在请回顾一下上面贪婪、惰性匹配语法的表,有两个匹配模式比较有意思:一个是“{n}”,对于这种形式的匹配,由于它精确地要求匹配 n 个字符,所以无所谓贪婪还是惰性,尽管“{n}?”也是正确的匹配写法,但它的匹配结果总是与“{n}”相同。

开源项目与工具

[专题] 正则入门:惰性匹配

.*?
惰性匹配(lazy)它会匹配尽可能少的字符,它从第一个字符开始找起,一旦符合条件,立刻保存到匹配集合中,然后继续进行查找。所以说它是懒惰的。我们回顾一下上面 “\d{1,3}” 匹配数字的例子,对于“1234”,当我们使用“\d{1,3}”时,进行的是贪婪匹配,它首先找到“123”(因为“1234”不符合),之后的“4”也符合,所以,找到的匹配是“123”和“4”。

开源项目与工具

[专题] 正则入门:贪婪匹配

匹配尽可能多的字符
它会匹配尽可能多的字符。它首先看整个字符串,如果不匹配,对字符串进行收缩;遇到可能匹配的文本,停止收缩,对文本进行扩展,当发现匹配的文本时,它不着急将该匹配保存到匹配集合中,而是对文本继续扩展,直到无法继续匹配 或者 扩展完整个字符串,然后将前面最后一个符合匹配的文本(也是最长的)保存起来到匹配集合中。所以说它是贪婪的。
3 / 4 首页 < Prev 1 2 3 4 Next > 尾页 页码: