[英]Find a match from a list of regular expression in java
我有一個[az] *形式的正則表達式列表(例如your *)。 我需要從正則表達式列表中找到從正則文本文件中讀取的單詞的可能匹配項。 我可以為每個列表項使用Pattern類,然后使用匹配器將單詞與列表的每個成員進行匹配,但是此過程似乎很耗時。 正則表達式列表很大(大約2500個表達式),我需要匹配的單詞數也很大(以百萬計),所以我需要快速的東西-它應該是Java語言。 有沒有更好的方法來從正則表達式列表中搜索單詞的正則表達式匹配項?
如果您所有的表達式都以foo*
的形式表示,那么您能不能替換掉所有對word.startsWith(pattern)
的模式匹配嘗試? (首先將模式中的'*'修剪word.equals(pattern)
,如果它實際上包含在模式列表中。)或-如果'*'是可選的-根據word.equals(pattern)
,是否使用word.equals(pattern)
呢?
我使用特里樹解決了這個問題。 –法里格·薩德克(Farig Sadeque)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.