在後續我剛纔的問題 Hundreds of RegEx on one string 我結束了正則表達式像下面數百名正則表達式的一個字符串
(section1:|section2:|section3:|section[s]?4:|(special section:|it has:|synonyms:)).*?(?=section1:|section2:|section3:|section[s]?4:|(special section:|it has:|synonyms:)|$)
section section in regex search
,我在我的督促系統的正則表達式有更多的再1000個字符,並且是多行。它所做的只是從大塊文本中分塊,然後再對這些塊進行單獨處理以提取信息。此外,我希望這些節標題是自然語言寬容,這就是爲什麼某些部分可以多種方式鍵入,導致正則表達式的大小增加。在性能和可管理性方面是否有更好的方法?
給出的選項是非常好的,但我仍然有點困惑,我怎麼能使用它。我上面發佈的正則表達式不僅選擇節標題,而且還選擇它們的內容。我如何使用GExp來實現? – Sap
@Grrrr哦...我想我可以使用生成的正則表達式兩次來做到這一點。 – Sap
好的)正則表達式工具只允許你從字符串(或其他正則表達式)列表創建正則表達式。所以你可以將它傳遞給PAttern.compile,然後從匹配器中提取內容。有選項不要生成caputerd組,因此您可以將它與其他正則表達式組合使用,並通過Matcher.group(number)獲取字段。 GExp是高級別的正則表達式,首先你要編寫詞法分析器來創建令牌,然後對其進行正則表達式處理,相關的工具是GATE JAPE – yura