re2j:Java中的线性时间正则表达式匹配

上传者: 42138525 | 上传时间: 2022-05-25 19:37:37 | 文件大小: 1.07MB | 文件类型: ZIP
RE2 / J:Java中的线性时间正则表达式匹配 RE2是一个正则表达式引擎,其运行时间与输入大小成线性关系。 RE2 / J是RE2到纯Java的移植。 Java的标准正则表达式包java.util.regex和许多其他广泛使用的正则表达式包(例如PCRE,Perl和Python)使用回溯实现策略:当模式提供两个替代方案(例如a|b ,引擎将尝试匹配子模式a第一,如果该收益率不匹配,这将重置输入流,并尝试匹配b代替。 如果这些选择被深层嵌套,则此策略需要先对输入数据进行指数级传递,然后才能检测到输入是否匹配。 如果输入很大,则很容易构造一个运行时间将超过Universe寿命的模式。

文件下载

资源详情

[{"title":"( 75 个子文件 1.07MB ) re2j:Java中的线性时间正则表达式匹配","children":[{"title":"re2j-master","children":[{"title":".gitignore <span style='color:#111;'> 73B </span>","children":null,"spread":false},{"title":"settings.gradle <span style='color:#111;'> 68B </span>","children":null,"spread":false},{"title":"build.gradle <span style='color:#111;'> 5.61KB </span>","children":null,"spread":false},{"title":".travis.yml <span style='color:#111;'> 573B </span>","children":null,"spread":false},{"title":"gradlew <span style='color:#111;'> 5.17KB </span>","children":null,"spread":false},{"title":"CONTRIBUTING.md <span style='color:#111;'> 1.92KB </span>","children":null,"spread":false},{"title":"LICENSE <span style='color:#111;'> 1.58KB </span>","children":null,"spread":false},{"title":"javatests","children":[{"title":"com","children":[{"title":"google","children":[{"title":"re2j","children":[{"title":"UNIXBufferedReader.java <span style='color:#111;'> 2.71KB </span>","children":null,"spread":false},{"title":"RE2ReplaceAllFunctionTest.java <span style='color:#111;'> 2.02KB </span>","children":null,"spread":false},{"title":"MatcherTest.java <span style='color:#111;'> 16.36KB </span>","children":null,"spread":false},{"title":"RE2ReplaceTest.java <span style='color:#111;'> 6.47KB </span>","children":null,"spread":false},{"title":"ExecTest.java <span style='color:#111;'> 24.12KB </span>","children":null,"spread":false},{"title":"FindTest.java <span style='color:#111;'> 22.55KB </span>","children":null,"spread":false},{"title":"GoTestUtils.java <span style='color:#111;'> 1.70KB </span>","children":null,"spread":false},{"title":"StrconvTest.java <span style='color:#111;'> 2.73KB </span>","children":null,"spread":false},{"title":"RE2CompileTest.java <span style='color:#111;'> 2.46KB </span>","children":null,"spread":false},{"title":"ApiTestUtils.java <span style='color:#111;'> 7.87KB </span>","children":null,"spread":false},{"title":"RE2QuoteMetaTest.java <span style='color:#111;'> 2.99KB </span>","children":null,"spread":false},{"title":"SimplifyTest.java <span style='color:#111;'> 4.83KB </span>","children":null,"spread":false},{"title":"RE2MatchTest.java <span style='color:#111;'> 1.43KB </span>","children":null,"spread":false},{"title":"RE2TestNumSubexps.java <span style='color:#111;'> 1.23KB </span>","children":null,"spread":false},{"title":"Strconv.java <span style='color:#111;'> 5.51KB </span>","children":null,"spread":false},{"title":"RegexpHashcodeEqualsTest.java <span style='color:#111;'> 1.61KB </span>","children":null,"spread":false},{"title":"RE2Test.java <span style='color:#111;'> 1.18KB </span>","children":null,"spread":false},{"title":"PatternTest.java <span style='color:#111;'> 7.64KB </span>","children":null,"spread":false},{"title":"CharClassTest.java <span style='color:#111;'> 6.29KB </span>","children":null,"spread":false},{"title":"GWTTest.java <span style='color:#111;'> 3.43KB </span>","children":null,"spread":false},{"title":"UnicodeTest.java <span style='color:#111;'> 1.02KB </span>","children":null,"spread":false},{"title":"ProgTest.java <span style='color:#111;'> 3.24KB </span>","children":null,"spread":false},{"title":"ParserTest.java <span style='color:#111;'> 18.41KB </span>","children":null,"spread":false}],"spread":false}],"spread":true}],"spread":true}],"spread":true},{"title":"testdata","children":[{"title":"com","children":[{"title":"google","children":[{"title":"re2j","children":[{"title":"RE2J-Fake.gwt.xml <span style='color:#111;'> 455B </span>","children":null,"spread":false},{"title":"FakeGWTEntryPoint.java <span style='color:#111;'> 437B </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true},{"title":"re2-exhaustive.txt.gz <span style='color:#111;'> 938.36KB </span>","children":null,"spread":false},{"title":"nullsubexpr.dat <span style='color:#111;'> 2.04KB </span>","children":null,"spread":false},{"title":"repetition.dat <span style='color:#111;'> 6.61KB </span>","children":null,"spread":false},{"title":"re2-search.txt <span style='color:#111;'> 41.27KB </span>","children":null,"spread":false},{"title":"basic.dat <span style='color:#111;'> 8.53KB </span>","children":null,"spread":false}],"spread":true},{"title":"java","children":[{"title":"com","children":[{"title":"google","children":[{"title":"re2j","children":[{"title":"Compiler.java <span style='color:#111;'> 6.93KB </span>","children":null,"spread":false},{"title":"CharClass.java <span style='color:#111;'> 10.53KB </span>","children":null,"spread":false},{"title":"package.html <span style='color:#111;'> 2.26KB </span>","children":null,"spread":false},{"title":"Characters.java <span style='color:#111;'> 493B </span>","children":null,"spread":false},{"title":"RE2.java <span style='color:#111;'> 29.52KB </span>","children":null,"spread":false},{"title":"Regexp.java <span style='color:#111;'> 9.93KB </span>","children":null,"spread":false},{"title":"MachineInput.java <span style='color:#111;'> 6.97KB </span>","children":null,"spread":false},{"title":"Inst.java <span style='color:#111;'> 3.63KB </span>","children":null,"spread":false},{"title":"UnicodeTables.java <span style='color:#111;'> 110.07KB </span>","children":null,"spread":false},{"title":"RE2J.gwt.xml <span style='color:#111;'> 318B </span>","children":null,"spread":false},{"title":"PatternSyntaxException.java <span style='color:#111;'> 1.39KB </span>","children":null,"spread":false},{"title":"make_perl_groups.pl <span style='color:#111;'> 2.72KB </span>","children":null,"spread":false},{"title":"super","children":[{"title":"com","children":[{"title":"google","children":[{"title":"re2j","children":[{"title":"Characters.java <span style='color:#111;'> 566B </span>","children":null,"spread":false}],"spread":false}],"spread":false}],"spread":false}],"spread":false},{"title":"Prog.java <span style='color:#111;'> 4.56KB </span>","children":null,"spread":false},{"title":"Pattern.java <span style='color:#111;'> 8.41KB </span>","children":null,"spread":false},{"title":"Utils.java <span style='color:#111;'> 5.49KB </span>","children":null,"spread":false},{"title":"Unicode.java <span style='color:#111;'> 3.72KB </span>","children":null,"spread":false},{"title":"Matcher.java <span style='color:#111;'> 17.42KB </span>","children":null,"spread":false},{"title":"Machine.java <span style='color:#111;'> 10.74KB </span>","children":null,"spread":false},{"title":"Parser.java <span style='color:#111;'> 52.10KB </span>","children":null,"spread":false},{"title":"Simplify.java <span style='color:#111;'> 5.81KB </span>","children":null,"spread":false},{"title":"CharGroup.java <span style='color:#111;'> 4.22KB </span>","children":null,"spread":false}],"spread":false}],"spread":true}],"spread":true}],"spread":true},{"title":"README.md <span style='color:#111;'> 3.98KB </span>","children":null,"spread":false},{"title":"gradlew.bat <span style='color:#111;'> 2.21KB </span>","children":null,"spread":false},{"title":"unicode","children":[{"title":"build.gradle <span style='color:#111;'> 338B </span>","children":null,"spread":false},{"title":"src","children":[{"title":"main","children":[{"title":"java","children":[{"title":"com","children":[{"title":"google","children":[{"title":"re2j","children":[{"title":"UnicodeTablesGenerator.java <span style='color:#111;'> 15.95KB </span>","children":null,"spread":false}],"spread":false}],"spread":false}],"spread":false}],"spread":false}],"spread":false}],"spread":false},{"title":"README.md <span style='color:#111;'> 200B </span>","children":null,"spread":false}],"spread":true},{"title":"gradle","children":[{"title":"wrapper","children":[{"title":"gradle-wrapper.properties <span style='color:#111;'> 200B </span>","children":null,"spread":false},{"title":"gradle-wrapper.jar <span style='color:#111;'> 53.06KB </span>","children":null,"spread":false}],"spread":false}],"spread":false},{"title":"benchmarks","children":[{"title":"build.gradle <span style='color:#111;'> 775B </span>","children":null,"spread":false},{"title":"src","children":[{"title":"main","children":[{"title":"resources","children":[{"title":"google-maps-contact-info.html <span style='color:#111;'> 274.02KB </span>","children":null,"spread":false}],"spread":false},{"title":"java","children":[{"title":"com","children":[{"title":"google","children":[{"title":"re2j","children":[{"title":"benchmark","children":[{"title":"BenchmarkBacktrack.java <span style='color:#111;'> 1.36KB </span>","children":null,"spread":false},{"title":"BenchmarkFullMatch.java <span style='color:#111;'> 1.41KB </span>","children":null,"spread":false},{"title":"BenchmarkCompile.java <span style='color:#111;'> 1.42KB </span>","children":null,"spread":false},{"title":"BenchmarkSubMatch.java <span style='color:#111;'> 1.82KB </span>","children":null,"spread":false},{"title":"Implementations.java <span style='color:#111;'> 2.42KB </span>","children":null,"spread":false}],"spread":false}],"spread":false}],"spread":false}],"spread":false}],"spread":false}],"spread":false}],"spread":false}],"spread":false},{"title":"LICENSE.header <span style='color:#111;'> 159B </span>","children":null,"spread":false},{"title":"RELEASING.md <span style='color:#111;'> 2.11KB </span>","children":null,"spread":false}],"spread":false}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明