如何解决Hive中的input.regex
早先有人问了给定的数据集。
import 'package:flutter/material.dart';
import 'configure_nonweb.dart' if (dart.library.html) 'configure_web.dart';
void main() {
configureApp();
runApp(MyApp());
}
该线程中提供的输入正则表达式根本无法正常工作,因此我创建了两个“输入正则表达式”并在“ http://www.regexplanet.com/advanced/java/index.html”中测试了第一个正则表达式。小组是完美的。但是当我在Hive中尝试时,它仅加载NULL值。
我提供的输入正则表达式如下
03-24-2014 fm506 TOTAL-PROCESS OK;HARD;1;PROCS OK: 717 processes
03-24-2014 fm504 CHECK-LOAD OK;SOFT;2;OK - load average: 54.61,56.95
我的第二个输入正则表达式是
([^ ]*)\t+([^ ]*)\t+([^ ]*)\t+([^ ]*)
我以为它可以工作,但也不会加载NULL值。
能否让我知道这两个输入正则表达式有什么问题?
解决方法
您的第一个模式与整个字符串不匹配,并且字段匹配部分为[^ ]*
,即,除空格以外的任何0+字符,因此无法匹配最后一个字段(它包含空格)。 / p>
第二个正则表达式还包含\S+
模式,该模式匹配空格以外的1个或多个字符,并且最后一个不匹配最后一个字段。
您可以使用
^(\S+)\t+(\S+)\t+(\S+)\t+(.+)
^([^\t]*)\t+([^\t]*)\t+([^\t]*)\t+(.*)
请参见regex demo
[^\t]*
匹配制表符分隔的文本中的任何字段,因为它匹配制表符以外的零个或多个字符。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。