我已經實現了用於模式搜索的trie,並且工作正常。使用這個trie我可以找到所有在O(n)複雜文本中呈現的關鍵字。如何確定正則表達式中的子字符串?
問題是我想爲我的模式(關鍵字)使用正則表達式,並希望找到文本中存在的所有關鍵字。
例如: 我寫[a-z0-9 \。] {6,30} \ @ [a-z0-9 \。] {2,12} \。[a-z0-9] { 2,6}找到電子郵件ID,它會提取我正確的東西,但它不會找到第一或第二塊下的子字符串。
例如我有文字爲。 [email protected]
和關鍵字:ample mail
在這個例子中這個表達式會告訴我的電子郵件ID的結束位置,但它不會告訴任何關於ample
或mail
關鍵字。
編輯:假設我有正則表達式爲一個*(?C | CD)+ 和DFA會是什麼樣子::
,現在我有一個像dfdfdacbcbbcb數據在這個數據它會告訴我在達到ac等在每個字符後的模式,但我怎麼才能知道結束模式的長度?
您使用哪種語言? – 2014-09-24 10:06:49
基本上我使用C但我不要求使用正則表達式庫。我正在創建一個基於正則表達式的特里克斯考慮他們作爲關鍵字... – 2014-09-24 10:08:54