断言属于Group constructs
,但是不匹配具体的东西,所以也被称为零宽断言。他们用来指定一个位置,为这个断言为真时才继续进行匹配。
捕获型匹配
(…) 匹配括号中的内容
(a|b) 匹配a或者b
(?<name>…), 同上但是为分组取一个名字,当分组很多时为分组取一个名字很有用。注:在golang,python中为(?P<name>...)
以上匹配都会占用匹配位置,并生成分组,正则表达式内可以通过\1,\2,\3 or \k<name> 来引用
断言属于Group constructs
,但是不匹配具体的东西,所以也被称为零宽断言。他们用来指定一个位置,为这个断言为真时才继续进行匹配。
(…) 匹配括号中的内容
(a|b) 匹配a或者b
(?<name>…), 同上但是为分组取一个名字,当分组很多时为分组取一个名字很有用。注:在golang,python中为(?P<name>...)
以上匹配都会占用匹配位置,并生成分组,正则表达式内可以通过\1,\2,\3 or \k<name> 来引用
传统字符串格式化是使用%, python2.6 后引入了format提供了更强大,灵活的控制。python3 开始提供了字符串插值的方法,更加方便,清晰。这种方式在其它语言中并不陌生。
1 | a = "Peeter" |
flutter通过widget树的形式构建UI,不同的widget怎么去访问或者传递一个数据(状态),并且在这个状态改变后通知到其它Widget呢,官方简单demo中是通过构造函数的参数把数据或者修改数据函数传递给子widget,但是随着应用规模扩大,widget树会很复杂:
最近想着做个app,自己有一点android开发经验,但是从来没做过ios开发,就想用跨平台的方式,一劳永逸。于是对比了不少跨平台的方案,iconic, xamarin, react native,最后本打算用react native,偶然发现flutter,google的产品,于是尝试了一下。
坐地铁时在高速行驶的列车上看到稳定的广告觉得挺有意思,就思考了下实现的原理。
我们都知道人眼有视觉暂留,当图像以24帧每秒显示时,看起来像一幅连续的画面。可以肯定的是这个地铁广告也是利用了这种视觉暂留效果。设想一幅广告画面就是按24帧每秒播放的画面,但是处于固定位置的广告箱肯定不是一直亮,不然列车运行后看起来就是糊的
一个学习ReactiveX不错的地方:Intro to Rx
以作记录:
最近学numpy中的ndarray,许多函数如np.mean, np.sum, np.min等都有个axis的参数,那什么是轴呢?
其实就是数组的维度,对应ndarray.ndim的值, 也即ndarray.shape的len.