字符串正则表达式算法

时间:2015-10-16 07:37:24

标签: string algorithm

我正在阅读Robert Sedgewick的字符串算法。

以下是本书中正则表达式的文本摘要。

  

在许多应用程序中,我们需要稍微进行子字符串搜索   关于要找到的模式的完整信息。

     

文本编辑器的用户可能希望
      一世。仅指定模式的一部分,或者          II。指定可以匹配几个不同单词的模式,或者         III。指定多个模式中的任何一个都可以。

我的问题是作者对上述三个愿望的意思。我正在为上述每一个寻找一个例子。

1 个答案:

答案 0 :(得分:0)

作者正在谈论什么时候搜索一条数据,但是你有关于数据的不完整信息。如果您没有完整的信息,则无法从字面上搜索它,您必须使用某种模式来匹配数据。按规则而不是数据本身。

例如:如果您知道文件中存在今天的日期,则您拥有所有信息,因此您可以搜索2015-10-16。但如果您的信息不完整,则必须应用某些模式。

  1. 仅指定模式的一部分
  2. 您知道今年有一个日期,但不知道日期或月份(不完整的信息),您必须能够使用您拥有的信息部分指定模式2015-*-*。< / p>

    1. 指定可以匹配几个不同单词的模式
    2. 你知道这个十年的日期,但不知道你必须能够指定模式的年,日或月20*-*-*(请注意,20*部分将匹配不同“words”2001,2002,...)

      1. 指定任何一种模式都可以。
      2. 你知道今年或之前有这个日期,但不知道那么休息。模式可能类似于2014-*-*|2015-*-*,这为匹配提供了替代方案。

        我不认为作者提供的例子涵盖了所有可能性,但他试图传达的是,当你没有所有信息时,你必须能够使用你所拥有的信息。创建一个带有规则的模式,允许您收集剩余的信息(日期),同时仍然以部分或多种方式尊重您拥有的信息(年)