這是我的問題:我明天就要完成一項任務(過去幾天我一直在爲此工作),我認爲它有一半,但另一半我只是有一點線索。基本上,我有寫到哪用戶給了我一些話和他們的類別(如字典)代碼和語法如:Java中的正則表達式(正則表達式和語法)
A: article adjective A
A: adjective B
B: noun
那麼用戶將輸入的句子,我會檢查的話是在我的字典中,如果是這樣的話,我會輸出他們的類別,如果它與語法相匹配則選擇「接受」,如果不匹配則輸入「拒絕」。
現在,我知道我可能將不得不使用正則表達式,但到目前爲止我沒有發現任何真正有用的東西。
我會給輸入和輸出的例子:
Input:
Dictionary:
word: The
category: article
word: big
category: adjective
word: blue
category: adjective
word: car
category: noun
Grammar:
A: article adjective A
A: adjective B
B: noun
Sentences:
The big blue car
The car big blue
Output:
(first sentence)
article adjective adjective noun
Accept
(second sentence)
article noun adjective adjective
Refuse
所以,我的程序已輸出正確的類別,但我不知道如何實現語法部分(我已經有一類具有的ArrayList爲語法)。正如我之前所說,我認爲我將不得不使用正則表達式,但到目前爲止沒有發現非常有用。
預先感謝您!
如果你已經有一個句子被解析並映射到類別,那麼你對正則表達式沒有用處。您需要搜索語法規則以查看是否可以找到與類別匹配的組合。 – Andreas
真的嗎?問題是我不知道如何從第一個A到第二個A然後到B. –
想想我將不得不使用樹。 @ Hiro2k給了我這個建議。 –