- 自己動手寫分布式搜索引擎
- 羅剛
- 289字
- 2020-11-28 15:52:43
2.5.1 運算
BasicOperations中包含一些Automaton運算。Intersection()方法用于求交集。例如:
//創(chuàng)建一個可以接收A~W字符的自動機 Automaton a = BasicAutomata.makeCharRange('A', 'W'); Automaton b = BasicAutomata.makeCharRange('D', 'W'); Automaton c = BasicOperations.intersection(a, b); System.out.println(BasicOperations.run(c, "A")); //輸出false System.out.println(BasicOperations.run(c, "W")); //輸出true
union()方法用于求并集。例如:
Automaton a = BasicAutomata.makeCharRange('D', 'W'); Automaton b = BasicAutomata.makeCharRange('A', 'C'); Automaton c = BasicOperations.union(a, b); System.out.println(BasicOperations.run(c, "A")); // 輸出true System.out.println(BasicOperations.run(c, "W")); // 輸出true
concatenate()方法用于連接兩個自動機。例如:
Automaton a = BasicAutomata.makeChar('W'); Automaton b = BasicAutomata.makeChar('W'); Automaton c = BasicOperations.concatenate(a, b); System.out.println(BasicOperations.run(c, "WW")); // 輸出true System.out.println(BasicOperations.run(c, "WWW")); // 輸出false
repeat()方法表示重復0次或者多次。例如重復字符“W”零次或者多次:
Automaton a = BasicAutomata.makeChar('W'); Automaton c = BasicOperations.repeat(a); System.out.println(BasicOperations.run(c, "WW")); // 輸出true System.out.println(BasicOperations.run(c, "WWW")); // 輸出true
determinize()方法表示把NFA轉換成DFA。
a.deberminize();
復雜的正則表達式難以維護。“[yY]es”這樣的正則表達式可以寫成如下等價的Automaton:
Automaton a = BasicAutomata.makeChar('Y'); //創(chuàng)建一個字符W組成的自動機 Automaton b = BasicAutomata.makeChar('y'); Automaton c = a.union(b); Automaton d = c.concatenate(BasicAutomata.makeString("es")); //使用它 System.out.println(BasicOperations.run(d, "y yes")); //輸出true
推薦閱讀
- AJAX and PHP: Building Modern Web Applications 2nd Edition
- vtiger CRM Beginner's Guide
- Yii 1.1 Application Development Cookbook
- DSP開發(fā)寶典
- Quickstart Apache Axis2
- Joomla! 1.5 Site Blueprints: LITE
- WordPress Theme Design
- Building Websites with PHP/Nuke
- 零基礎攝影后期修圖 Photoshop照片處理輕松入門
- Unity 3D游戲開發(fā)(第2版)
- 24小時學會Word-Excel-PowerPoint 2010三合一
- Unity 3 Game Development Hotshot
- 從零開始:Dreamweaver CS6中文版基礎培訓教程
- OpenCms 7 Development
- Photoshop CC 2015中文版實用教程(第7版)