正则表达式
正则表达式这东西真的特别常用,在搜索文本啊,写爬虫什么的都得用到。而且现如今各种语言,都会支持正则表达式。之前也零零碎碎的看过,但是很多细节都记不清,这里姑且把一些知识要点记录下来,供日后查找使用
一直以来我都不知道Clojure里面的正则表达式有两种语法 我一直以为只有一种 那就是Java的语法 因为Clojure根本没有自己的正则表达式引擎 而是完全依赖于host 如果是JVM就是Java的语法 如果是Javascript虚拟机 那就是Javascript的语法. 其实Clojure这里做一个小小的优化 那就是#语法 例子: 节省了几个反斜线 注意这不符合Java的语法 Java中\s \S都必须对反斜线进行转义 因为\s \S不是合法的转义字符. 当然要在Clojure中使用Java的正则表达式语法也是可以的 要加一个re-pattern 难怪我的正则表达式有时候有效有时候无效 一直以为是自己的写法有问题 原来是对象弄错了. 这个小的改进固然是方便了一些 但是仍然增加了学习成本 而且对于没有耐心看文档的人 很容易先入为主 很容易忽略这些细节 再加上这个改进并不是完全的改头换面 所以即使在#语法中使用Java的格式 也并不是任何时候都出错 这就更加增加了迷惑性 很可能一个人用了很久都没发现自己用的是错误的语法. 我也是刚刚才发现.
包含以下全部的字词: 包含以下任何一个字词: 包含以下的完整字句: 包含以下的部分字句 正则表达式: any fieldtitleauthorabstractreport numberyear 记录日期 由: Modified since: 任何日子 01020304050607080910111213141516171819202122232425262728293031 任何月份 一月二月三月四月May六月七月八月九月十月十一月十二月 任何年份 200320042005200620072008200920102011201220132014201520162017201820192020202120222023 任何日子 01020304050607080910111213141516171819202122232425262728293031 任何月份 一月二月三月四月May六月七月八月九月十月十一月十二月 任何年份 200320042005200620072008200920102011201220132014201520162017201820192020202120222023
JavaScript Object Notation (JSON) 是一种数据交换格式。尽管不是严格意义上的子集,JSON 非常接近 JavaScript 语法的子集。 许多编程语言都支持 JSON,尤其是 JavaScript,它在网站和浏览器扩展应用广泛
碰到一个豁免内网地址的需求,策略要求仅对公网地址做安全判定,于是写个正则,正好也能水一篇。 内网地址范围如下: 以上地址段再加上loopback地址段 127.0.0.0/8 (即127.0.0.0 – 127.255.255.255),就是非公网地址的范围,寻找一个正则匹配以上所有地址段,然后对匹配结果取反即为公网IP。 ipv4地址形如 a.b.c.d,其中:a的取值范围为1-255(其中224-239 240-255在正常情况下不会碰到,既可以按1-255来理解,也可以按1-223来理解);b c d的取值范围为0-255
包含以下全部的字词: 包含以下任何一个字词: 包含以下的完整字句: 包含以下的部分字句 正则表达式: any fieldtitleauthorabstractreport numberyear 记录日期 由: Modified since: 任何日子 01020304050607080910111213141516171819202122232425262728293031 任何月份 一月二月三月四月May六月七月八月九月十月十一月十二月 任何年份 200320042005200620072008200920102011201220132014201520162017201820192020202120222023 任何日子 01020304050607080910111213141516171819202122232425262728293031 任何月份 一月二月三月四月May六月七月八月九月十月十一月十二月 任何年份 200320042005200620072008200920102011201220132014201520162017201820192020202120222023
包含以下全部的字词: 包含以下任何一个字词: 包含以下的完整字句: 包含以下的部分字句 正则表达式: any fieldtitleauthorabstractreport numberyear 记录日期 由: Modified since: 任何日子 01020304050607080910111213141516171819202122232425262728293031 任何月份 一月二月三月四月May六月七月八月九月十月十一月十二月 任何年份 200320042005200620072008200920102011201220132014201520162017201820192020202120222023 任何日子 01020304050607080910111213141516171819202122232425262728293031 任何月份 一月二月三月四月May六月七月八月九月十月十一月十二月 任何年份 200320042005200620072008200920102011201220132014201520162017201820192020202120222023
咸鱼前端的正则路不会写正则的前端不是个好博主! “正则表达式是匹配模式,要么匹配字符,要么匹配位置。对于位置的理解,我们可以理解成空字符。” ----摘自《JavaScript正则表达式迷你书》 注:以下全为正则使用实例耐心阅读足以快速学习并掌握正则的书写
包含以下全部的字词: 包含以下任何一个字词: 包含以下的完整字句: 包含以下的部分字句 正则表达式: any fieldtitleauthorabstractreport numberyear 记录日期 由: Modified since: 任何日子 01020304050607080910111213141516171819202122232425262728293031 任何月份 一月二月三月四月May六月七月八月九月十月十一月十二月 任何年份 200320042005200620072008200920102011201220132014201520162017201820192020202120222023 任何日子 01020304050607080910111213141516171819202122232425262728293031 任何月份 一月二月三月四月May六月七月八月九月十月十一月十二月 任何年份 200320042005200620072008200920102011201220132014201520162017201820192020202120222023
awk的命令是一种处理或分析文本文件的强大方法,特别是按行和列组织的数据文件。 可以从命令行运行简单的awk命令。更复杂的任务应该作为awk程序(所谓的awk脚本)写入文件