2015-10-16 138 views
0

我正在閱讀Robert Sedgewick中的字符串算法。字符串正則表達式算法

這是關於本書正則表達式的文本片段。

在許多應用程序中,我們需要進行子串搜索,其中 比有關要找到的模式的完整信息少。

文本編輯器的用戶可能希望
i。指定一個模式的一部分,或者
ii。以指定可以匹配幾個不同單詞的模式,或者iii。指定模式數量中的任何一個將會執行。

我的問題是作者用上述三個願望來表達什麼。我正在尋找上述每個示例。

回答

0

作者正在討論什麼時候您要搜索某條數據,但是您有關於數據的不完整信息。如果你沒有完整的信息,你不能直接搜索它,你必須使用某種模式來匹配數據。按規則而不是數據本身。例如:如果您知道文件中存在今天的日期,則您擁有所有信息,因此您可以搜索2015-10-16。但是,如果您的信息不完整,則必須採用某種模式。

  1. 指定模式

你知道有今年的日期中的一部分,但不知道這一天或一個月內(不完整的信息),你必須能夠指定一部分信息的模式爲2015-*-*

  • 指定可以匹配一些不同的話
  • 你知道有這十年來的一個日期,但不知道這一年,一天或圖案月,你必須能夠以指定的圖案20*-*-*(注意,部分20*將匹配不同「字」 2001,2002,...)

  • 以指定的任一模式的數量會做。
  • 你知道今年或以前有一個日期,但不知道休息。一個模式可能像2014-*-*|2015-*-*,這提供了在匹配的替代品。

    我不認爲作者給出的例子涵蓋了所有的可能性,但他試圖傳達的是當你沒有所有的信息時,你必須能夠使用你擁有的信息創建一個包含規則的模式,允許您收集剩餘的信息(當天),同時仍然以多種方式部分或多種方式尊重您擁有(年)的信息