代码之家  ›  专栏  ›  技术社区  ›  jb.

ADA中的正则表达式?

  •  4
  • jb.  · 技术社区  · 16 年前

    我对Ada很陌生,我想用一些文字做一些简单的工作。我所要做的就是在一个文件中读取,并去掉任何不是字母、空格或新行的内容。所以去掉所有标点和数字。在其他语言中,我只创建一个简单的[^a-z a-z]正则表达式,查看每个字符并删除它(如果它适合regex),但我似乎找不到任何有关ada中regex的文档。那么,艾达有雷杰克斯吗?如果不是这样,我做这种简单的文本编辑最好的方法是什么?

    多谢, JB

    3 回复  |  直到 16 年前
        1
  •  10
  •   Adrien Plisson    16 年前

    如果您使用的是gnat编译器,那么有一组名为 GNAT.RegExp , GNAT.RegPat GNAT.Spitbol 为该任务而生。

    注意,它不是标准的regexp ala perl,而是基于snobol4。但是,从一种类型的正则表达式转换到另一种类型的正则表达式并不难。

        2
  •  1
  •   James Black    16 年前

    您可能想通过这个例子,只需查找您想要忽略的字符,不要将它们放入新的字符串中。

    你用的是哪种版本的ADA?

    http://www.adaic.com/docs/95style/html/sec_8/8-4-7.html

        3
  •  1
  •   T.E.D.    16 年前

    我可能会看看你鞋子里的虱子鼻涕。

    然而,有一个项目可用于一般的词汇分析(有点像boot的spirit),叫做 OpenToken . 对于稍微复杂一些的任务,您可能会发现它很有用。

    我还没有与现代化身合作过,但当我是它的领导者时,这个项目是不可知编译器的。