各种资源网站分享

整理了一些平时优质的学习网站,做出分享,长期更新。 各种工具类 一个全栈工程师的工具箱 http://toolbox.phodal.com/ 顾名思义,从文档到工具到外设,在无聊的时候可以随意看一看,说不定就找到了提升自己生产力的工具。 CPU仿真器 https://cpulator.01xz.net/ 支持Nios II, ARMv7和Mips的处理器仿真。 LaTex https://www.overleaf.com/ LaTex在线编辑工具 godbolt https://godbolt.org/ 高级语言到汇编的在线转换工具 FPGA FPGA使用笔记 https://www.kancloud.cn/dlover/fpga 记录了作者学习FPGA时的各种积累,适合新手学习。 机器学习 机器学习数据寻找 https://www.zhihu.com/question/342295029/answer/846359794 画出美观的神经网络 http://alexlenail.me/NN-SVG/LeNet.html 前端 前端背景 https://www.pexels.com/zh-cn/ 免费高清矢量图片

January 22, 2022 · yunlang

上手正则表达式(一)

引言 在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。 与通配符(如*)类似,正则表达式也是用来进行文本匹配的工具,不过他要更为精确和复杂。学习正则表达式的最好办法就是利用例子学习。 元字符 现在考虑从英文小说里查找hi,你可以使用正则表达式hi,但这样的代价是你会查找到文本中所有有hi的位置,而不是一个单词。为了查找到一个单词你可以使用\bhi\b,他会帮你匹配单词hi存在的位置。 \b是正则表达式中元字符(metacharacter),代表单词的分界处,但请注意\b并不匹配用来分界单词的字符(如空格,标点或者换行符),他匹配的是一个位置。 更为精确的说法是:\b匹配一个前一个字符和后一个字符不全是\w的位置。 这样的元字符在正则表达式中有很多,他们帮助构建了正则表达式强大的匹配能力。你不需要全部记住,可以在使用中进行查阅,并在实践中掌握他们。 如果你要寻找这样的一个字符串:A单词后面跟着一个B单词,AB中间可以有任意字符存在。可以使用\bA\b.*\bB\b。 这里的.和\*也是两个其他的元字符。.可以匹配除了换行符之外的任何字符,而*比较特殊,他使得前面的内容可以连续重复使用任意次来匹配字符串。 如果你学过离散数学或者计算理论,应该对*不会太过陌生(尤其是学过计算理论),之后你还会看到+元字符,他们的区别和你在离散数学中他们的区别相同。 下面给出常见的元字符,和使用他们的一些例子 元字符 说明 . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或汉字 \s 匹配任意的空白符 \d 匹配数字 \b 匹配单词的开始或结束 ^ 匹配字符串的开始 $ 匹配字符串的结束 现在我们可以回顾一下\b的精确描述,理解\w的存在。 例子 \ba\w+\b 匹配以字母a开头的单词——先是某个单词开始处(\b),然后是字母 a,然后中间至少有一个字母或者数字(\w+),最后是单词结束处(\b)。用到了\w与+的共同使用,*可以有0,但+至少一个。 \b\w{6}\b 匹配刚好六个字符的单词 ^\d{5,12}$ ^ 和 $保证了是整个字符串的匹配,而不是字串,{5,12}代表重复的次数不能少于5次,不能多于12次,否则都不匹配。

January 17, 2022 · yunlang