2011-08-23 30 views
1

我想確定一個詞是否在大量關鍵字列表中(低俗等),並且解析器應該是一個很好的解決方案(據我所知它應該是快速的),因爲我需要一些規則如何重寫這些詞。如何通過ANTLR識別英文單詞?

我的問題是如何增加像語法規則(如果可能):

  • 在字加星號的每一個字母后

  • 萊特語言

  • 簡單的規則,如單詞+詞,單詞+ -ed

(必須有教程,但我無法找到它。)

注意:此係統將只通知管理員,因此它不必100%準確。

或者你能否推薦另一種更好的方法?

謝謝!

+0

對不起,我沒有看到ANTLR(或任何解析器生成器)與確定單詞是否在(大)關鍵字列表中有關。無論如何,你的輸入是怎樣的? –

+0

好吧,一個單詞不一定要在列表中。輸入可能是:「w * o * r * d」和「word」可能在字典中,但我希望解析器接受單詞「w * o * r * d」。 –

+0

啊,我明白你想要什麼。在這種情況下,ANTLR不適合您的任務:在ANTLR(或任何其他語法分析器生成器)中,您準確定義了您想要先解析的語言,而不是「模糊匹配」。 –

回答

1

對於這樣的任務,正則表達式或數據庫查詢可能是更好的選擇。

語法工作適用於您需要驗證的結構化數據非常符合語法正確或需要解析爲其他結構化格式的情況。

在語料庫中搜索單詞更多的是正則表達式的領域。