我想處理一個字符串,其中我想找到多個字符串,我試圖讓在Java的HTML文本一些熒光筆..
例子:
查找和處理短語table, row, primary key
在Each table row contains a primary key column
的文本帶有標籤的html文本,如<b>,<img..>...
如果在ex的短語中間有可忽略的標籤。 primary <b>key</b>
(可忽略的標籤是不會中斷文本含義的標籤,如<b>
或<i>
,另一方面標籤如<div>
中斷文本含義)可以替換該短語。
如果一個短語是其他短語的短語,則長度越長優先級越高。爲前。在文中提到的第二個應該proccesed尋找table row
和row contains
找到字符串中多個短語的最佳方法?
我的第一個僞代碼是事端這樣的:
for (each phrase)
while(tex.hasNext(phrase)) do
processPhraseInText(text,phrase)
end-while
end-for
這是工作,但文本被遍歷phrases.count()倍和我正在尋找一種更快的方式來處理所有的讚美
我想嘗試正則表達式和模式匹配器在此使用。
我想出了兩種方式,所有以某種方式尋找這樣的短語創建一個正則表達式:regex1|regex2|..|regexN
或2.創建字字一個正則表達式(和一個Matcher對象)
什麼可能是更好的方法?還是有一些完全不同的方式或現有的圖書館呢?許多匹配器的第二種方式與我已有的溶劑一樣嗎?
感謝
儲存您所有的關鍵字,你向我保證:)你能告訴我,如果一個匹配的形式給出了會更快一些,一般比sollution我已經有了?我現在使用indexOf爲每個短語,簡單的僞代碼張貼,我知道它並不多 – Zavael 2010-09-14 08:25:49
你應該配置文件,如果它的性能。我想我在RegEx的其他地方閱讀的地方很慢,但我沒有RegEx guru。 – atamanroman 2010-09-14 08:59:13