正则表达式 预搜索,不匹配;反向预搜索,不匹配

    前面的章节中,我讲到了几个代表抽象意义的特殊符号:"^","$","\b"。它们都有一个共同点,那就是:它们本身不匹配任何字符,只是对 "字符串的两头" 或者 "字符之间的缝隙" 附加了一个条件。理解到这个概念以后,本节将继续介绍另外一种对 "两头" 或者 "缝隙" 附加条件的,更加灵活的表示方法。

Continue reading “正则表达式 预搜索,不匹配;反向预搜索,不匹配”

扑克 与 历法 zz

还有点意思

许多人会利用扑克牌进行各种游戏娱乐活动,但懂得扑克经的人恐怕为数不多。扑克是历法的缩影。

五十四张牌中,有五十二张是正牌,表示一年有五十二个星期;两张是副牌,大王代表太阳,小王代表月亮;一年四季春、夏、秋、冬,用桃、心、梅、方来表示,其中红心、方块代表白昼,黑桃、梅花代表黑夜。

每一季是十三个星期,扑克中每一花色正好是十三张牌;每一季是九十一天,十三张牌的点数相加正好是九十一。四种花色的点数加起来,再加上小王的一点,是三百六十五。如果再加上大王的一点,那就正好是闰年的天数。

扑克中的 J、Q、K 共十二张牌,既表示一年有十二个月,又表示太阳在一年中经过的十二个星座。

Continue reading “扑克 与 历法 zz”

非贪婪匹配的效率 zz

可能有不少的人和我一样,有过这样的经历:当我们要匹配类似 "

内容

" 或者 "[b]加粗[/b]" 这样的文本时,我们根据正向预搜索功能写出这样的表达式:"

([^< ]|<(?!/td>))*

" 或者 "

((?!

).)*"。

    当发现非贪婪匹配之时,恍然大悟,同样功能的表达式可以写得如此简单:"

.*?

"。 顿时间如获至宝,凡是按边界匹配的地方,尽量使用简捷的非贪婪匹配 ".*?"。
Continue reading “非贪婪匹配的效率 zz”

匹配次数中的贪婪与非贪婪(zz)

在使用修饰匹配次数的特殊符号时,有几种表示方法可以使同一个表达式能够匹配不同的次数,比如:"{m,n}", "{m,}", "?", "*", "+",具体匹配的次数随被匹配的字符串而定。这种重复匹配不定次数的表达式在匹配过程中,总是尽可能多的匹配。

Continue reading “匹配次数中的贪婪与非贪婪(zz)”

拦阻索

在螺旋桨飞机和直式甲板航母时代,飞机着舰后必须在飞行甲板三分之二处停住,否则就会冲入前方停机区。在直式甲板航母上设有10-15道拦阻索和3-5道防冲网。而现代航母上的喷气式舰载机降落时并不关闭发动机,情况不好可以马上复飞,所以拦阻索大大减少。美国海军备有4道拦阻索,第一道设在距斜甲板尾端55米处,然后每隔14cm设一道,由弓形弹簧张起,高出飞行甲板30-50cm。

当舰载机降落时,尾钩放下,其位置比起落架还低,着舰点在1、2道拦阻索之间为好,这就要求飞行员有很高的操纵技术。据美国海军统计,白天着舰的舰载机尾钩挂住2、3道拦阻索的合计约占62-64%,尾钩挂住第4道索的约为18%,尾钩挂到第1道索的约为16%。在夜间尾钩多挂住第3、4道索。如尾钩未挂住拦阻索,着舰机必须拉起复飞,这在白天约为5%,夜间则高达12-15%。

Continue reading “拦阻索”