正则表达式位置匹配攻略

第二章 正则表达式位置匹配攻略

正则表达式是匹配模式,要么匹配字符,要么匹配位置。请记住这句话。

然而大部分人学习正则时,对于匹配位置的重视程度没有那么高。

本章讲讲正则匹配位置的相关知识点。

内容包括:

什么是位置呢?

位置(锚)是相邻字符之间的位置。比如,下图中箭头所指的地方:

PNG

正则表达式字符匹配攻略

第一章 正则表达式字符匹配攻略

正则表达式是匹配模式,要么匹配字符,要么匹配位置。请记住这句话。

然而关于正则如何匹配字符的学习,大部分人都觉得这块比较杂乱。

毕竟元字符太多了,看起来没有系统性,不好记。本章就解决这个问题。

内容包括:

两种模糊匹配

如果正则只有精确匹配是没多大意义的,比如 /hello/,也只能匹配字符串中的 "hello" 这个子串。

1
2
3
var regex = /hello/;
console.log(regex.test("hello"));
// => true

HtmlAgilityPack爬取美女图片、每日一文文章、小说

HtmlAgilityPack?

HtmlAgilityPack 是 .NET 下的一个 HTML 解析类库。支持用 XPath 来解析 HTML 。命名空间: HtmlAgilityPack

爬取美女图片核心代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
static void Main(string[] args)
{
HtmlWeb web = new HtmlWeb();
string path = @"F:\pic\";
for (int i = 88; i >= 1; i--)
{
var url = "http://jandan.net/ooxx/page-" + i;
HtmlDocument doc = web.Load(url);
List<HtmlNode> nodeList = doc.DocumentNode.SelectNodes("//*[@class=\"commentlist\"]/li").AsParallel().ToList();
foreach (var item in nodeList)
{
HtmlNode imghtml = item.SelectSingleNode(".//img");
var imgsrc = "http:" + imghtml.Attributes["src"].Value;
var imgname = Guid.NewGuid().ToString() + imgsrc.Substring(imgsrc.Length - 4, 4);
Console.WriteLine(imgsrc);
DownPic(imgsrc, path + imgname);
}
}
}

打包你的App

打包应用

假设你的应用做完了,总不能还在后台开着packager就把应用发布出去吧。很明显,我们需要让应用可以离线,下边所要讲的就是
一个让应用脱离packager的过程

是时候用上React Navigation了

导航器

一个应用(普通的那种),总是有好多个界面,只有一个界面的应用怎么能留得住用户呢?(虽然有很多界面的也不一定留得住)
所以说,做应用一般不会只做一个页面。我们知道,网页之间可以自由跳转,通过一个<a></a>就可以搞定了,但是
开发应用不是写网页,React Native中也没有<a>,那当我们需要做界面跳转的时候该怎么办呢?答案是使用Navigator组件。
哈哈,逗你的,在0.42版本前使用Navigator来实现导航效果没问题,不过呢,自从0.43版本之后React Native将停止维护这个组件了,
因为出现了更好用的React Navigation(半官方)。

带你了解ListView及FlatList

ListView与FlatList

当你需要给用户在一个页面展示一堆数据的时候,一个一个去渲染对性能来说真的不好,所以我们使用React Native内置的列表
来渲染数据。在0.43版本之前,我们一直使用ListView来渲染数据,不过它的性能经常被人吐嘈,社区里也不断提出解决方案。
就连Realm都内置了一个性能更好些的ListView。不过自从官方发布了0.43版之后,这种局面应该会离我们远去了,因为官方给出了
更好的方案FlatList。不过,ListView虽然老旧了一些,但依然还有学习的必要,所以我们从ListView开始学起

,