魏长东

weichangdong

正在查看: js 分类下的文章(第 3 页 / 共 23 篇)

好的前端框架Bootstrap和DWZ

最近相继接触了DWZ(http://j-ui.com/)和Bootstrap(http://www.bootcss.com/)框架,都是html,js,css相关的。用来做网站页面效果很帅。

虽然现在只是浅尝辄止,但是知道有这个实现方式,以后真用的着的话,再去深度研究,这都不是问题。

»»阅读全文

正则表达式中的捕获

读jQuery源码,其中不可避免的要弄明白正则表达式,在此对非捕获组(non-capturing)进行了一些梳理。

关于捕获的一些主要用法

  1. (?:X)
  2. (?=X)
  3. (?<=X)
  4. (?!X)
  5. (?<!X)

捕获

要书明白捕获,就要先从分组开始。重复单字符我们可以使用限定符,如果重复字符串,用什么呢? 对!用小括号,小括号里包裹指定字表达式(子串),这就是分组。之后就可以限定这个子表示的重复次数了。

那么,什么是捕获呢?使用小括号指定一个子表达式后,匹配这个子表达式的文本(即匹配的内容)可以在表达式或者其他过程中接着用,怎么用呢?至少应该有个指针啥的引用它吧? 对!默认情况下,每个分组(小括号)会自动

拥有一个组号,从左到右,以分组的左括号为标志,第一个出现的分组组号为1,后续递增。如果出现嵌套,

例如:

“aabcd”

采用正则 (a(b))(c) match 结果入下:

 

分组 捕获
$1(group1) ab
$2(group2) b
$3(group3) c

继续涨姿势。

一、(?:)非捕获组走起。

由下面一个例子引发对非捕获组的学习。

有两个金额:6000¥ 和 1000$。

需求是得到金额和货币种类。

『废话少说,多用正则』:

(\d+)+([$¥])

输出结果为:

6000 $

OK,满足了要求。这里的正则分成了两个组,一个是(d+),一个是(¥$),前一个组($1)匹配金额,后一个组($2)匹配货币种类。

现在,需求变了!! 我需要这个正则同时可以匹配浮点数小数点前面的整数。如10010.86¥,提炼出 10010 和 ¥。

那么正则如下:

(\d+)(\.?)(\d)([$¥]) 

这里用括号分了四组,所以要输出金额的整数部分和种类,要分别输了$1,$4了。如果输出部分和正则是分开的,我希望只修改正则而不去修改输出部分的代码,也就是还是用$1,$2作为输出。由此可以引出非捕获组(?:)。

»»阅读全文

mongodb实现多列的group

一、mongodb实现多列的group(方法1)。
类似如下SQL:
select PhoneId, hour, count(*)
from tianyc_test8
where PhoneId in ('xx','yy','zz')
group by PhoneId, hour;

»»阅读全文