Picidea——中国第一款在线图片编辑与创意工具

Picidea 是中国人开发的第一款真正的在线图片编辑与创意工具!

Picidea 是基于Flash/Flex平台下开发一款在线图片处理软件,用户无需下载和安装任何插件即可在线进行图片编辑;Picidea 支持编辑本地图片、网络图片以及用户网络相册(目前已开通Google Picasa,巴巴变的链入)等;提供图片裁剪、旋转、特效等基础功能的实现,并可随意创建图层和添加文字。另外,Picidea拥有丰富的图片素材库,可以针对不同的图片进行各种创意创作。尽管如此,Picidea 和我之前向大家介绍的FotoFlexer以及Picnik 在技术和功能设置上都还是存在着明显的差距的 :(

在Blogging两年多的时间里面,我认识了很多国内年轻的创业团队们,他们无不对自己现在所从事的事业充满了无比的热爱和激情;我相信正如比尔·盖茨在华的一次演讲中表示了那样,下一个伟大成功将来自亚洲 !而下一个引爆Web2.0潮流的导火线也一定会出现在我们中国!

点击进入

 

FROM http://www.showeb20.com/?p=720

Blogger Play:永不停止的实时幻灯片

Blogger

     Blogger今天加上了一个很有趣的新功能,名为Blogger Play。其实如果说Blogger Play是新的,也不完全对,因为它已经在Google内部流行了两年,自从两年前Blogger允许用户上传图片以来它就一直存在。所谓的Blogger Play,就是在一个独立的网页里,以幻灯片形式实时显示Blogger用户正在上传的图片。由于每个时刻都有很多不同的图片被上传至Blogger,因此Blogger Play实际上是永远不会停止的一种图片显示,除非Blogger不再允许用户上传图片,又或者Blogger服务器发生故障了。

  在Google内部,Google员工喜欢在一个大屏幕上或使用投影机来观看Blogger Play。不过现在你只需要直接进入以下网址即可:

  http://play.blogger.com/

  其实在电脑里全屏化,看起来效果也不错:

  blogger-play-1.gif

  如上面所介绍的那样,这些图片都是新鲜的,刚刚由Blogger用户上传完。因此你很可能在好奇心的驱使下,一直盯着图片看,总想知道下一张图片到底会是什么。当然,除了看图片,你还可以看与图片相关的Blogger文章。直接点击图片便可在新窗口中打开相应的文章,或者可以直接点击右下角的"show info",把文章内容连同作者个人资料与图片同步显示:

blogger-play-2.gif

  直接按下键盘的F11键将浏览器窗口全屏化,Blogger Play就是一个很不错的屏保了。另外,如果你"不幸"看到一些不该出现的图片突然出现在Blogger Play上,Google的解释是算法(Safe Search技术)不可能完全过滤掉某些不适当图片,因此Google并不对Blogger Play展示的图片内容而负责。

  如果你这个周末觉得无聊,Blogger Play应该会是一个很不错的消遣工具。

 

 

 

From creative-weblogging

策划设计制作网站应该注意的九大原则与设计流程

一、保持网页的朴素

    一个好的网站最重要的一点就是界面的简单、朴素。你听说过“KISS”法则吗?“Keep It Simple Silly.”适用于所有的站点。

    制作者们很容易掉入这样一个陷阱,即把所有可能用到的网页技巧,例如:框架、表格、字体、GIF动画等等都用上,这当然是好的,但如果多了的话就会让你的访问者眼花缭乱,不知所措,也不会给他们留下很深的印象。

    记住,只是因为你可以创建一个效果,但并不意味着你必须创建这个效果。先问一问你自己:我在网页上加入这个技术有什么价值?是否能更好的向访问者表达我的主题?

    二、简单并不等于乏味

    简单的真正含义并不是迟钝和乏味。许多人会被网站多余的奇特效果所迷惑,而忽视了信息的有效性。

    保持简单的真正含义就是:想一想如何使自己网站的信息与你的访问者所期待和所需要的一样。应该把技术和效果用在适当的地方,用在有效信息上,让访问者关注他们想关注的东西。
    清晰的设计+有效的技术=一个好的站点

  三、了解你的读者

     你不是在真空里制作你的网页,也不是作给你自己看的。如果是这样,你还不如把它放在自己的电脑里。你发布

你的网站是希望某些人停下来参观它。而这些人就是你的读者。

    你越了解你的读者,你的网站影响力就会越大。你的读者是否有个慢猫?那你最好应当特别的注意网页的大小;他们希望听到音乐片断吗?你就要想想网页上的音乐格式。你的读者是纺织工人?那么血红色和黑色最好不要选择;或者他们是骨灰级游戏玩家?你就要避免用柔和的颜色和图案了。

  一个好站点的定义:通过典雅的风格设计提供给潜在读者高质量的信息。

  四、五个“手指”

  对一个好的网站来说,清晰的导航也是最起码的标准。应该让访问者知道自己当时在网站中的位置,并且愉快的通过你的指引而遍览你的网站。例如,你可以做到的一件事情就是:“下一步”的选择数目尽量少,以便人们不会迷失在长长的选择项目列表中。

  你知道吗?一般人的大脑把五个或更少的项目看作一组,但是当所面对的项目超过五个,它就必须把他们划分成较小的次组来处理,所以说,保持你的选择项归类在五组或五组以内就变得很有意义了。你的访问者能够快速的找到自己想选择的项目。

  五、三次点击

    对网站制作者来说,访问者就是上帝,讨好上帝的另一个方法就是让他们在获取信息时不要超过三次点击。想想,当你在访问一个网站时,点击……点击……点击……再点击……再……才找到你想要的信息,或者还没找到,你会怎么想呢?

    加之,当你的访问者深入网站查找需要的信息最后却摸不着头脑了,会怎么办?他们肯定不会原地兜圈,他们会离开你的主页去别的地方继续冲浪,可能也就再也不会回来了。

  六、 三十秒的等待时间

    访问者进入你的站点后,他应该可以不费力的找到所需要的资料。有一条不成文的法则:当访问者在决定下一步该去哪之前,不要让他现在所看的页面下载的时间超过30秒钟。如果超过了这个时间,你就会开始失去你的“上帝”了。

   保证你的页面有个适度的大小而不会无限制的下载。如果你的大多数访问者使用Modem的话,试着保持总的页面大小(包括页面图像)在45K一下。

    确保你的页面设计规划清晰明了,让访问者只需快速的扫视就能把握你的网站导航,知道自己“下一步”该选择的项目。

  七、平衡

    平衡是一个好网站设计的重要部分。

    文本和图像之间的平衡。除非内容决定了这是个完全文本或者完全图像的网站,你需要用直觉和审美观来作判断,以便其中的一个不会淹没另外一个。

    下载时间和页面内容之间的平衡。当然你希望有个漂亮的页面,但你也必须平衡你的页面内容,因为你的很多访问者正在通过modem阅读它。难道你网站的图片真的值得等待那么久吗?

    背景和前景之间的平衡。我们能在白纸上画出美丽的图案,网页上,如果能制作出漂亮的结构和背景是很令人激动的。但也容易使你的内容淹没在你的背景里面。

  八、适度的帧

    适度的的帧对于你的网页是很好的补充,然而就像所有网站的元素所具有的特性一样,你绝对不要滥用他们!

    如果你想创建一个可以看得到的导航结构,比如说一个表格目录,帧就是一个很合适的途径,例如,这页有三个帧--你现在所看到的内容,导航条在右边,题目、广告和说明栏在顶部。

    但是帧不是“万金油”。比如说,如果你想用行或列来显示信息的话,表格会更好。

  九、坚持学习

    创建网页是一个不断学习的过程。推出你网站的第一个版本还只是一个开始!技术和工具在不断的进步,而我们对人们如何利用网上资源的方式的了解也是在不断的变化,要创建一个好网站你就不能陶醉在过去的成绩上。

    看看其他的网站。如果你想成为一个出色的小说家的话,你必须不断阅读其他好的作品。如果你想成为一个出色的剧作家的话你必须多看好的电影。同样,如果你想设计一个出色的网站的话,你必须多看其他好的网站。但你在看一个网站的时候,你能找到这个网站的优缺点,注意哪些是你该学习的,而哪些错误是你要避免的。

    查看原文件。当你看到某些你喜欢的东西,使用你浏览器上的查看原文件的功能,看看这个效果是如何作出来的。在页面之后你能发现令你惊奇的东西。

    阅读和学习。学习你尽可能学到的技术和设计方法

 

 

 

 

» 原产地

流程设计

网站流程设计,一个不是很简单的问题,但它又很重要。因为网站流程从一个宏观的角度告诉用户,你的网站是做什么的、应该怎么做、做完之后我能得到什么等一系列问题。只有让用户清楚的了解这些问题,他才能得心应手的使用网站的其他功能。当用户使用了网站的其他功能才能进一步的体验网站。

既然网站流程如此重要,那我们应该怎样设计才能让用户有更好的体验呢?海峰认为,设计一个良好的用户体验的网站流程应该做好以下三步:

1、最直接的告诉用户你的网站是做什么的。

让我们先来看看Google是怎么做到这一点的。虽然Google的首页没有任何说明性文字,但其Logo下面的搜索标签、长长的文本框、搜索按钮即告诉了用户:我们是做搜索业务的。

再看看上图的阿里巴巴,其左上角Logo的说明文字:“全球领先的网上贸易市场和商人社区”,以最直接的方式告诉用户:在这里可以进行网上贸易和业务交流。 这一口号,也一下子将商人们吸引住了。

从两个例子中,我们可以看到,善于抓住用户的心的网站,都是在最引人注目的位置,告诉用户该网站的最核心业务的。

2、最直观的告诉用户下一步应该怎么做。

告诉了用户网站做什么之后,接下来应该以最直观的方式,告诉用户下一步应该怎么做了。下图为阿里巴巴的一般用户行为模式,看阿里巴巴是如何直观的告诉用户下一步应该怎么做的。

通过Logo往下看,是网站的一些栏目设置,其进一步告诉用户阿里巴巴所提供的服务(找产品,找公司……);向右看,是网站的一些功能(登录,注册,发布信息……)。

通过阿里巴巴的例子,我们可以看到,抓住了用户的心之后,还要利用用户的视线转移,最直观的告诉用户,网站可以提供什么,并且告诉他们下一步应该怎么做。

3、用最少的操作让用户完成他们的要做的事情,并及时给予相关提示帮助。

第2步,告诉了用户下一步该怎么做,为了让网站有高的用户体验,应该以尽量较少的操作而让用户完成目标(差找信息,注册、登录、发布信息)。

以用户注册为例,我们来看看豆瓣的注册页面(http://www.douban.com/register),仅仅需要输入邮箱与密码即可完成注册,是不是很方便?

在提供用户注册的过程中,网站应该最及时的给用户提供相关的提示帮助。下图为阿里巴巴的注册表单,其不但在文本框后面提供了相关的提示,而且如果你输入了错误的信息,它会及时的告诉你哪里错了,为什么会错。

上面的例子中我们可以看到,在网站流程设计中,我们可以尽量减少用户的操作,如缩短主页到具体内容页的路径长度,减少用户的输入选项等,并在用户操作的过程中最及时的提供提示帮助,以提高网站的用户体验。

我想,只要认真做好以上三点,用户即使对你的网站设计、功能不满意,但都可能对你网站的业务有一个全面的认识,那么你建立网站的基本目标也算完成了一半。

总之,网站的流程设计,应该从用户的角度出发,充分考虑用户的利益。只有以用户为中心的设计,才能给用户创造高的用户体验。

    » 原产地

投票帮——基于Flash的社会性投票平台(Widget)

投票帮(TouBang)是一个由用户发起投票的,且由用户对自己感兴趣的主题进行投票社会性网络平台。

投票帮(TouBang)是一个完全由用户主动发起的,对自己感兴趣的话题进行投票和发表评论的社会性网络平台和工具,在这里,用户可以轻松的发布和管理自己的民意调查等方案。而内嵌在博客中的投票系统更是一直以来被公认为网站与用户进行交互的一种重要手段,是增加博客作者与读者黏合度的必备之选,所以, 投票帮还为所有的注册用户提供了可嵌入式的Vote Widget代码(基于Flash/Flex开发),你可以将它放置在博客合适的地方发起民意调查等。

唯一有点遗憾的是,投票帮缺乏更加完善的社会性元素,单一的分享模式不利于网站更加长远的发展。然而,国外一些相当成熟的社会性投票网站,例如:Vizu , Blogflux , Quibblo , Sparklit 等成功的经验都是值得站长借鉴的。

点击加入 

 

 

FROM SHOWWEB2.0.COM

epasser—超多电子书下载

我在网上搜一本《生物统计》学的书,在这里找到了。免费下载了不说,还发现这里有很多其他的书,据称有35000本,可能还多些。很多书都很不错。我的这本是英文原文的,PDF格式,页面质量也很好。
大家可以去看看有没有需要的。
[ 链接 http://epasser.aydc.com.cn/ebook/index.jsp ]

 

FROM DIGG

 

时库网——一部基于时间的百科全书

 

时库网是一个非常有特色的web2.0网站。

在时间的长河中,总有一些瞬间值得记录下来。时库(timeku.com)就像一部基于时间的百科全书,每个人都可以在其上建立自己的时间线,并与朋友一起编辑和分享。

用时库可以做什么?

1. 建立和编辑大事记
小到一个人的经历,一个公司的成长;大到一个年代,一段值得书写的历史,都可以用时库来记录,还可以由一个团队一起参与编辑。点点滴滴的瞬间串联在一起,就凝聚成了历史的厚重。
2. 写博客日记
用时库来写日记会给你一种特别的时间感,当有一天你偶尔翻开以前建立的时间线,在忙碌的生活中几乎被我们忘却的一个个瞬间,又像故事一样重新浮现在我们的眼前,以往的喜怒哀乐,早已成了风清云淡的回忆…
3. 记录孩子的成长
从一个刚刚出生的婴儿到长大成人,在这过程中,孩子有太多瞬间值得用文字和影像记录下来。用一条时间线把这些瞬间串联起来,将成为你送给他/她最珍贵的礼物。
4. 规划行程和日程
你的旅行经历、日程安排、体育赛程,用时库来记录并分享给他人,不仅清晰直观,而且可以开放评论。
……
[ 链接 http://www.timeku.com ]

Ubuntu Compiz Fusion安装和常见问题解决

给可能还不了解Compiz Fusion的朋友:Compiz Fusion是刚刚推出不久的梦幻级桌面特效程序,它继承了Beryl和Compiz各自的优良传统,并在特效和性能方面有了极大的提升.有兴趣的可以看看我很早之前上传到土豆的视频.

compiz-fusion-cube.png

下面的安装方法基本来自Ubuntu社区论坛,但是我在这台电脑的安装过程中出了一些问题,好在都想到办法解决了.

一.安装.

1.安装显卡驱动.

如果是新装的Ubuntu,还没有安装显卡驱动,可以先到系统–系统管理–受限驱动管理器中启用受限制的驱动.注:我使用的是NVIDIA GeForce 5200显卡.

2.添加密钥和软件源.

因为官方源里面还没有Compiz Fusion,所以需要添加第三方软件源,来自http://download.tuxfamily.org.

获得密钥:

sudo wget http://download.tuxfamily.org/3v1deb/DD800CD9.gpg -O- | sudo apt-key add –

添加软件源:

sudo gedit /etc/apt/sources.list

在弹出的软件源文本中加入以下两条:

deb http://download.tuxfamily.org/3v1deb feisty eyecandy
deb-src http://download.tuxfamily.org/3v1deb feisty eyecandy

保存后更新:

sudo apt-get update
sudo apt-get dist-upgrade

3.下载安装Compiz和Compiz Fusion

sudo apt-get install compiz compiz-gnome
sudo apt-get install compizconfig-settings-manager
sudo apt-get install compiz-fusion-*

4.故障解决

问题#1.

据我自己的经验,如果在终端里使用以上命令进行下载,速度将会极为缓慢(校园网连接国外的网站那叫一个慢),另外,我还看到有好多朋友都无法获取密钥,所以我们可以直接到原始网站使用下载工具进行下载.下面是我根据终端里的提示和新利得中的记录研究出来的Deb包列表和下载地址(注意:因为有依赖关系问题,所以请按顺序安装):

Compiz系:

Fusion插件系:

#问题2:

有些同学在执行 sudo apt-get install compiz compiz-gnome的时候出现以下错误:

正预备替换 compiz-gnome 1:0.3.6-1ubuntu13 (使用 …/compiz-gnome_1%3a0.5.1+git20070627~3v1ubuntu1_i386.deb) … 正在解压缩将用于更替的包文件 compiz-gnome …
dpkg:处理 /var/cache/apt/archives/compiz-gnome_1%3a0.5.1+git20070627~3v1ubuntu1_i386.deb (–unpack)时出错:
正试图覆盖“/usr/lib/compiz/libgconf.so”,它属于软件包 compiz-plugins
在处理时有错误发生:
/var/cache/apt/archives/compiz-gnome_1%3a0.5.1+git20070627~3v1ubuntu1_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

或者出现以下提示:

下列的软件包有不能满足的依赖关系:
compiz: 依赖: compiz-decorator 但却无法安装它
E: 无法安装的软件包
aro@aro-laptop:~$

其实我在安装的时候也出现了第一个错误,这两个错误都和软件包依赖有关,上面的这些命令我觉得并不怎么完善,具体解决方法如下:

  • 定位到系统–系统管理–新利得软件包管理器,打开后在左边栏找到"已损坏",卸载损坏的安装包(实际就是删除原有的compiz),退出.
  • 下载安装#问题1中提到的compiz core,compiz plugin和libdecoration三个文件.
  • 重新执行sudo apt-get install compiz compiz-gnome,或者如果你愿意可以直接依次下载上面的所有deb包安装(个人推荐).

问题#3

使用ATi显卡的朋友可能会出现以下问题:

Fatal: Failed test: texture_from_pixmap support
Checks indicate that it’s impossible to start compiz on your system.

这个问题我无从实践,因为这台电脑是NVIDIA的显卡,不过我在Ubuntu英文论坛上看到了解决方案.问题的关键在于要安装XGL,因为安装步骤很多,我又无法实践,所以有这个问题的请参见:How To : Compiz Fusion for ATI cards + Xgl in Feisty,里面有非常详细的说明,尽管是英文,但是只需复制代码即可,所以不是障碍.

二.简单的使用指南

以上安装完成之后,你就可以启动Compiz Fusion了.同时按下Alt+F2,输入compiz –replace即可启动.默认状态下已经有不少有趣的效果.

定位到系统–首选项–CompizConfig Settings Manager,打开后可以对效果进行自定义.一般大家在视频里看到的水族馆效果,火焰字,类Vista的层叠(Flip)效果在默认状态下是没有开启的,需要你自己勾选对应的复选框.

立方体效果:同时按下ctrl+Alt+鼠标左键(Button 1).这个和Beryl下是一样的.

火焰字:在左侧类别栏目的Effect下,勾选"在屏幕上绘制火焰".同时按下Shift+Win(Super)+B1,退出火焰字同时按下Shift+Win+C.

层叠效果:在左侧类别栏目的Windows Management下,勾选Shift-Switcher.Win+Tab(和Vista下一样).

桌面缩放:Win+鼠标滚轮 .

屏幕飞雪:在左侧类别栏目的Extra下勾选飞雪.同时按下Win+F3.

还有很多效果,可以到Manager中慢慢研究,只要点击右边的对应效果就可以对它进行快捷键,效果微调等方面的自定义.

Vista层叠和雪花效果

火焰字

 

注意:尽管Compiz Fusion和Beryl相比在性能上大有提升,但是开启太多效果后还是会造成系统速度变慢,所以有些很无聊的效果还是看看就算吧.有些同学说开启之后X还变快了,呃,很显然那是不可能的….

原文链接:http://www.digglife.cn/go/388505.html

Chatopica——基于Flex2.0技术的群聊Widget

Chatopica 是一款可以放置在自己博客中的群聊Widget。

Chatopica 完全基于 Flex2.0 技术架构,绚丽的用户界面当我第一眼看见它时就深深的被它吸引住了。用户只需要在自己博客的适当位置添加他们提供的JS Code就可以将这款酷酷的群聊工具搬进自己的网站;很可惜的是:Chatopica 用户无法自定义一个完全属于自己的聊天室,Chatopica 只是简单的提供了一个大型的Chatroom,全球的网友都可以在相同的一个平台上畅所欲言。

我觉得Flex/AIR+Widget其实是一个很好的推广发展方向,国内似乎仍没有哪家互联网公司提出开发基于上述技术的Blog Widget 项目。

点击进入

 

 

FROM SHOWWEB2.0.COM

什么是正则表达式?

 

目前,正则表达式已经在很多软件中得到广泛的应用,包括*nix(Linux, Unix等),HP等操作系统,PHP,C#,Java等开发环境,以及很多的应用软件中,都可以看到正则表达式的影子。

正则表达式的使用,可以通过简单的办法来实现强大的功能。为了简单有效而又不失强大,造成了正则表达式代码的难度较大,学习起来也不是很容易,所以需要付出一些努力才行,入门之后参照一定的参考,使用起来还是比较简单有效的。

例子: ^.+@.+\..+$

2. 正则表达式的历史

正则表达式的“祖先”可以一直上溯至对人类神经系统如何工作的早期研究。Warren McCulloch 和 Walter Pitts 这两位神经生理学家研究出一种数学方式来描述这些神经网络。
1956 年, 一位叫 Stephen Kleene 的数学家在 McCulloch 和 Pitts 早期工作的基础上,发表了一篇标题为“神经网事件的表示法”的论文,引入了正则表达式的概念。正则表达式就是用来描述他称为“正则集的代数”的表达式,因此采用“正则表达式”这个术语。

随后,发现可以将这一工作应用于使用 Ken Thompson 的计算搜索算法的一些早期研究,Ken Thompson 是 Unix 的主要发明人。正则表达式的第一个实用应用程序就是 Unix 中的 qed 编辑器。

如他们所说,剩下的就是众所周知的历史了。从那时起直至现在正则表达式都是基于文本的编辑器和搜索工具中的一个重要部分
3. 正则表达式定义
正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。

列目录时, dir *.txt或ls *.txt中的*.txt就不是一个正则表达式,因为这里*与正则式的*的含义是不同的。
正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。

3.1 普通字符
由所有那些未显式指定为元字符的打印和非打印字符组成。这包括所有的大写和小写字母字符,所有数字,所有标点符号以及一些符号。

3.2 非打印字符 字符 含义
cx 匹配由x指明的控制字符。例如, cM 匹配一个 Control-M 或回车符。x 的值必须为 A-Z 或 a-z 之一。否则,将 c 视为一个原义的 ‘c’ 字符。
f 匹配一个换页符。等价于 x0c 和 cL。
n 匹配一个换行符。等价于 x0a 和 cJ。
r 匹配一个回车符。等价于 x0d 和 cM。
s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ fnrtv]。
S 匹配任何非空白字符。等价于 [^ fnrtv]。
t 匹配一个制表符。等价于 x09 和 cI。
v 匹配一个垂直制表符。等价于 x0b 和 cK。

3.3 特殊字符

所谓特殊字符,就是一些有特殊含义的字符,如上面说的"*.txt"中的*,简单的说就是表示任何字符串的意思。如果要查找文件名中有*的文件,则需要对*进行转义,即在其前加一个。ls *.txt。正则表达式有以下特殊字符。

特别字符 说明
$ 匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 ‘n’ 或 ‘r’。要匹配 $ 字符本身,请使用 $。
( ) 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 ( 和 )。
* 匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 *。
+ 匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 +。
. 匹配除换行符 n之外的任何单字符。要匹配 .,请使用 。
[ 标记一个中括号表达式的开始。要匹配 [,请使用 [。
? 匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 字符,请使用 ?。
将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。例如, ‘n’ 匹配字符 ‘n’。’n’ 匹配换行符。序列 ‘\’ 匹配 "",而 ‘(‘ 则匹配 "("。
^ 匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合。要匹配 ^ 字符本身,请使用 ^。
{ 标记限定符表达式的开始。要匹配 {,请使用 {。
| 指明两项之间的一个选择。要匹配 |,请使用 |。

构造正则表达式的方法和创建数学表达式的方法一样。也就是用多种元字符与操作符将小的表达式结合在一起来创建更大的表达式。正则表达式的组件可以是单个的字符、字符集合、字符范围、字符间的选择或者所有这些组件的任意组合。

3.4 限定符

限定符用来指定正则表达式的一个给定组件必须要出现多少次才能满足匹配。有*或+或?或{n}或{n,}或{n,m}共6种。
*、+和?限定符都是贪婪的,因为它们会尽可能多的匹配文字,只有在它们的后面加上一个?就可以实现非贪婪或最小匹配。
正则表达式的限定符有:

字符 描述
* 匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等价于{0,}。
+ 匹配前面的子表达式一次或多次。例如,’zo+’ 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于 {1,}。
? 匹配前面的子表达式零次或一次。例如,"do(es)?" 可以匹配 "do" 或 "does" 中的"do" 。? 等价于 {0,1}。
{n} n 是一个非负整数。匹配确定的 n 次。例如,’o{2}’ 不能匹配 "Bob" 中的 ‘o’,但是能匹配 "food" 中的两个 o。
{n,} n 是一个非负整数。至少匹配n 次。例如,’o{2,}’ 不能匹配 "Bob" 中的 ‘o’,但能匹配 "foooood" 中的所有 o。’o{1,}’ 等价于 ‘o+’。’o{0,}’ 则等价于 ‘o*’。
{n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。例如,"o{1,3}" 将匹配 "fooooood" 中的前三个 o。’o{0,1}’ 等价于 ‘o?’。请注意在逗号和两个数之间不能有空格。

3.5 定位符

用来描述字符串或单词的边界,^和$分别指字符串的开始与结束,b描述单词的前或后边界,B表示非单词边界。不能对定位符使用限定符。

3.6 选择

用圆括号将所有选择项括起来,相邻的选择项之间用|分隔。但用圆括号会有一个副作用,是相关的匹配会被缓存,此时可用?:放在第一个选项前来消除这种副作用。
其中?:是非捕获元之一,还有两个非捕获元是?=和?!,这两个还有更多的含义,前者为正向预查,在任何开始匹配圆括号内的正则表达式模式的位置来匹配搜索字符串,后者为负向预查,在任何开始不匹配该正则表达式模式的位置来匹配搜索字符串。

3.7 后向引用

对一个正则表达式模式或部分模式两边添加圆括号将导致相关匹配存储到一个临时缓冲区中,所捕获的每个子匹配都按照在正则表达式模式中从左至右所遇到的内容存储。存储子匹配的缓冲区编号从 1 开始,连续编号直至最大 99 个子表达式。每个缓冲区都可以使用 ‘n’ 访问,其中 n 为一个标识特定缓冲区的一位或两位十进制数。
可以使用非捕获元字符 ‘?:’, ‘?=’, or ‘?!’ 来忽略对相关匹配的保存。

如果你想更进一步的了解,请查看:正则表达式30分钟入门教程