zoukankan      html  css  js  c++  java
  • F#之旅9

    今天,cozy群有个群友发了条正则,问正则匹配相关的问题。虽然他的问题用html selector去处理可能更好,但是我也再一次发现:我忘了正则怎么写的了!

    忘掉正则是有原因的,这篇文章会简单记录下F#里怎么用正则,以及我忘掉正则的理由。

    一、原始的正则

    F#自然是可以用.NET库里的正则了,很常规,具体使用如下:

    二、FsVerbalExpressions

    VerbalExpressions(http://verbalexpressions.github.io/),自然语言的表达式,它帮助我们用类似自然语言的写法,去构造正则表达式,而不用记各种符号。并且,它有几十种语言的版本,连F#这种并不火的语言都有。

    1、它提供了对Regex的F#封装,可以通过流的方式来使用正则表达式:

    2、自然语言式的构造正则表达式:

    3、还有不多但是实用的一些辅助:

    4、最后,是解决群里问的问题,并且,把对应的原始正则写法也输出看看:

    三、启发

    VerbalExpressions可以相当于一种领域特定语言,实际上做的工作,只是对常规的正则做了点微小的封装。类似的思路,在软件开发和生活上,也许都会对我们有所帮助。

  • 相关阅读:
    scrum站立会议简介
    四人小组建立与项目选题
    每周工作量及进度统计
    null与对象的复杂关系(typeof null的结果是object的原因)
    CSS外边距合并(塌陷/margin越界)
    CSS负边距margin的应用
    CSS负margin的影响
    清除浮动的方式
    CSS文本阴影实例
    PWA之Service work
  • 原文地址:https://www.cnblogs.com/zapline/p/5895136.html
Copyright © 2011-2022 走看看