比方說,我有文字的,就像這樣一段話:文本解析設計
蝸牛可以在一個很寬 各種環境,包括 溝渠,沙漠和深海 深處找到的海。許多種蝸牛可以 也在淡水水域。 (source)
我有10,000條正則表達式規則來匹配可以重疊的文本。例如,正則表達式/Snails? can/i
將找到兩個匹配項(在文本中用斜體表示)。正則表達式/can(also)? be/i
有兩個匹配(粗體)。
通過我的正則表達式迭代和尋找比賽之後,有什麼用最好的數據結構,文本,鑑於一些地方,它返回mached這一切正則表達式?例如,如果我想要第1行的字符8(基於0,在can
),我會得到前面描述的兩個正則表達式的匹配。
我可以創建一個HashMap(鍵:字符位置,值:設置所有匹配的正則表達式的)。這是最佳嗎?有沒有更好的方法來解析文本與成千上萬的正則表達式(不循環每一個)?
謝謝!
你能評論一下這個更普遍的用法嗎?您將如何利用您希望存儲的數據? – Mikhail 2011-02-01 19:13:33
用戶看到解析的文本,用匹配的正則表達式突出顯示。當用戶懸停在角色上時,會顯示匹配的正則表達式。 – ash 2011-02-02 21:54:45