import oi.thekraken.grok.api.Grok; //导入方法依赖的package包/类

@Test

public void testDate() throws Exception {

Grok grok = Grok.EMPTY;

grok.addPattern("WORD", "\\b\\w+\\b");

grok.addPattern("GREEDYDATA", ".*");

grok.addPattern("YEAR", "(?>\\d\\d){1,2}");

grok.addPattern("MONTHNUM", "(?:0?[1-9]|1[0-2])");

grok.addPattern("MONTHDAY", "(?:(?:0[1-9])|(?:[12][0-9])|(?:3[01])|[1-9])");

grok.addPattern("HOUR", "(?:2[0123]|[01]?[0-9])");

grok.addPattern("MINUTE", "(?:[0-5][0-9])");

grok.addPattern("SECOND", "(?:(?:[0-5]?[0-9]|60)(?:[:.,][0-9]+)?)");

grok.addPattern("ISO8601_TIMEZONE", "(?:Z|[+-]%{HOUR}(?::?%{MINUTE}))");

grok.addPattern("MY_HOUR", "(2[0123]|[01]?[0-9])");

grok.addPattern("MY_MINUTE", "([0-5][0-9])");

grok.addPattern("MY_SECOND", "((?:[0-5]?[0-9]|60)(?:[:.,][0-9]+)?)");

grok.addPattern("startDate", "%{YEAR}-%{MONTHNUM}-%{MONTHDAY}[T ]%{MY_HOUR}_%{MY_MINUTE}_%{MY_SECOND}?%{ISO8601_TIMEZONE}?");

// compile and add semantic

grok.compile("%{WORD:employeeId}/%{GREEDYDATA:empName}/%{startDate}");

String inputData = "E1234/Aparna/Chaudhary/2014-1-15T13_02_49+01:00";

Match match = grok.match(inputData);

match.captures();

// extract parsed data

HashMap resultData = new ObjectMapper().readValue(match.toJson(), HashMap.class);

assertEquals("invalid employee id", "E1234", resultData.get("employeeId"));

assertEquals("invalid name", "Aparna/Chaudhary", resultData.get("empName"));

assertEquals("invalid date", "2014-1-15T13_02_49+01:00", resultData.get("startDate"));

}

grok java_Java Grok.match方法代码示例相关推荐

  1. drawimage的用法 java_Java Graphics.drawImage方法代码示例

    本文整理汇总了Java中javax.microedition.lcdui.Graphics.drawImage方法的典型用法代码示例.如果您正苦于以下问题:Java Graphics.drawImag ...

  2. findclass java_Java Context.findClass方法代码示例

    import jdk.nashorn.internal.runtime.Context; //导入方法依赖的package包/类 private static Class> simpleType ...

  3. Bytes int java_Java Bytes.readInt方法代码示例

    import net.openhft.chronicle.bytes.Bytes; //导入方法依赖的package包/类 @NotNull @Override public CharSequence ...

  4. object getkey java_Java S3Object.getKey方法代码示例

    import com.amazonaws.services.s3.model.S3Object; //导入方法依赖的package包/类 private S3Object decipher(GetOb ...

  5. fileset java_Java FileSet.iterator方法代码示例

    import org.apache.tools.ant.types.FileSet; //导入方法依赖的package包/类 public void execute() throws BuildExc ...

  6. x509代码实例java_Java X509AttributeCertificate.getIssuer方法代码示例

    import org.bouncycastle.x509.X509AttributeCertificate; //导入方法依赖的package包/类 /** * Parses the contents ...

  7. toolbar java_Java ToolBar.layout方法代码示例

    import org.eclipse.swt.widgets.ToolBar; //导入方法依赖的package包/类 protected ToolBar createToolbar() { fina ...

  8. okhttputils java_Java OkHttpUtils.post方法代码示例

    import com.zhy.http.okhttp.OkHttpUtils; //导入方法依赖的package包/类 @Override public void performRequestAsyn ...

  9. getAttribute实例例java_Java ExifInterface.getAttribute方法代码示例

    import android.media.ExifInterface; //导入方法依赖的package包/类 public static void copyExif(ExifInterface or ...

  10. textlayout Java_Java TextLayout.getBounds方法代码示例

    import java.awt.font.TextLayout; //导入方法依赖的package包/类 /** * {@inheritDoc} */ @Override public void pa ...

最新文章

  1. Spring MVC-处理程序映射(Handler Mapping)-简单的Url处理程序映射(Simple Url Handler Mapping)示例(转载实践)...
  2. NHibernate1.02使用MsAccess2000Dialect 提供对 Access 数据库的支持
  3. java编码-多重(乱码)
  4. 并发编程-01并发初窥
  5. TAdoquery的Filter
  6. Java class loader调试
  7. handlersocket mysql_Mysql插件之HandlerSocket的安装、配置、使用
  8. 极通EWEBS V5.0打破了远程计入市场的宁静!
  9. 智能化施工(综合管线)
  10. 朱嘉明《火药:改变了人类历史演变模式》
  11. QQ大厅游戏 大家来找茬辅助
  12. YDOOK:ANSYS 进行电磁场仿真的第三步:施加边界条件和载荷
  13. 微信小程序html的font-size,字体大小(font-size)
  14. python 图像分割_Python中的图像分割(第2部分)
  15. DevOps 工程师需要必备哪些技能?
  16. 从专升本到互联网大厂-我的2021
  17. 【工作总结】书面方式回复注意遣词…
  18. Delphi 写入txt文件
  19. 三星堆的青铜机器人_三星堆出土世界同期最高、最完整的青铜立人像 他有两个未解之谜...
  20. [CSP-S模拟测试41]题解

热门文章

  1. 用户授权中@Secured,@PreAuthorize,@PostAuthorize,@PreFilter,@PostFilter这五个注解的使用
  2. ArcGIS系列(一):DEM数字高程模型数据的生成
  3. 读《互联网:一部概念史》有感
  4. Quartz定时任务自学
  5. arcgis 空间交集 计算_基于ArcGIS的GIS缓冲区与叠加分析的综合应用——以大型商场选址为例...
  6. 风行python_Python是啥?竟然彻底改变了老板对我的看法……
  7. 13/18V系列中频切换开关原理及应用方式
  8. 30岁开始实现我的程序员梦
  9. 洛谷P5385 [Cnoi2019]须臾幻境
  10. 基于MATLAB的TODA定位算法的仿真