我只想得到所有的消息数据。这样它就应该在父消息的花括号之间查找消息和所有数据。有了下面的代码,我也得到了服务细节以及我不想要的消息。对此专家的任何建议都要提前感谢。
String data = "/**\r\n" +
" * file\r\n" +
" */\r\n" +
"syntax = \"proto3\";\r\n" +
"package demo;\r\n" +
"\r\n" +
"import \"envoyproxy/protoc-gen-validate/validate/validate.proto\";\r\n" +
"import \"google/api/annotations.proto\";\r\n" +
"import \"google/protobuf/wrappers.proto\";\r\n" +
"import \"protoc-gen-swagger/options/annotations.proto\";\r\n" +
"\r\n" +
"option go_package = \"bitbucket.com;\r\n" +
"option java_multiple_files = true;\r\n" +
"\r\n" +
"schemes: HTTPS;\r\n" +
"consumes: \"application/json\";\r\n" +
"produces: \"application/json\";\r\n" +
"responses: {\r\n" +
"key:\r\n" +
" \"404\";\r\n" +
"value: {\r\n" +
"description:\r\n" +
" \"not exist.\";\r\n" +
"schema: {\r\n" +
"json_schema: {\r\n" +
"type:\r\n" +
" STRING;\r\n" +
"}\r\n" +
"}\r\n" +
"}\r\n" +
"}\r\n" +
"responses: {\r\n" +
"key:\r\n" +
" \"401\";\r\n" +
"value: {\r\n" +
"description:\r\n" +
" \"Wrong user.\";\r\n" +
"schema: {\r\n" +
"json_schema: {\r\n" +
"type:\r\n" +
" STRING;\r\n" +
"};\r\n" +
"example: {\r\n" +
"value:\r\n" +
" '{ \"message\": \"wrong user.\" }'\r\n" +
"}\r\n" +
"}\r\n" +
"}\r\n" +
"}\r\n" +
"\r\n" +
"message message1 {\r\n" +
" message message2 {\r\n" +
" enum Enum {\r\n" +
" UNKNOWN = 0; \r\n" +
" }\r\n" +
" }\r\n" +
" string id = 1;\r\n" +
" string name = 3;\r\n" +
" string account = 4;\r\n" +
"}\r\n" +
"\r\n" +
"message User{\r\n" +
" string firstName = 1 ;\r\n" +
" string lastName = 2 ;\r\n" +
" string middleName = 3 [(validate.rules).repeated = { min_items: 0 }];\r\n" +
"}\r\n" +
"\r\n" +
"service Userlogin{\r\n" +
" rpc Login(User) returns (APIResponse);\r\n" +
"}";
List<String> allmsg = Arrays.asList(data.replaceAll("(?sm)\\A.*?(?=message)", "").split("\\R+(?=message)"));
我期待响应如下在我的字符串大小为2的数组列表。
好的。get(0)应该是
message message1 {
message message2 {
enum Enum {
UNKNOWN = 0;
}
}
string id = 1;
string name = 3;
string account = 4;
}
好的。get(1)应该是
message User{
string firstName = 1 ;
string lastName = 2 ;
string middleName = 3 [(validate.rules).repeated = { min_items: 0 }];
}
你应该看看其他问题。
Pattern.compile("(?s)^message(.(?!message|service))*");
In message可以出现在message之后
"消息消息1{\r\n"
你必须调整正则表达式。
我想得到所有的消息数据。这样它就应该在父消息的花括号之间查找消息和所有数据。有了下面的模式,我没有得到所有的父体。 在我的字符串数组列表中,我希望得到如下大小为2的响应。 应该是: 和应该是:
问题内容: 我正在尝试在我的PHP应用程序中读取JSON消息,这是我的php代码: 当我这样做时,出现以下错误: 这是页面请求的请求主体: 这是请求标头: 但是,如果我改为回显变量,则会得到以下结果: 因此,看起来是以字符串形式而不是以JSON形式读取它,这会使解析起来更加困难。 知道为什么它不以JSON形式返回,或者如何使它以JSON形式返回吗? 问题答案: 您使用的是创建关联数组,而不是对象。
问题内容: 谁能告诉我如何从控制器返回字符串消息? 如果我只是从控制器方法返回一个字符串,那么spring mvc会将其视为jsp视图名称。 问题答案: 使用以下命令在控制器中注释方法: 来自:15.3.2.6将响应主体与注释映射: 该注释[…]可以放在一个方法,并且指示返回类型应当直接写入HTTP响应主体(而不是放置在一个模型,或解释为视图名称)。
我调用方法从一个工人线程在下面的代码,但Android不抛出这应该说java.lang.IllegalStateExc0019:调用视图方法在另一个线程比UI线程”,因为我正在修改UI从外部的UI线程,这在Android中是禁止的。 以下是我的工作线程作为内部类的可运行状态: 注意:host OnHoldDialog是我活动的成员。 而不是抛出,android只是不根据消息更新UI。 这是虫子吗?
问题内容: 我在python应用程序中使用标准的python日志记录模块: 问题是,尽管未启用调试级别,但在每次循环迭代时都会评估该愚蠢的日志消息,这会严重损害性能。 有什么解决办法吗? 在C ++中,我们提供了提供以下宏的软件包: 有效评估为 但是,由于Python(AFAIK)中没有宏,是否有一种有效的日志记录方法? 问题答案: 日志记录模块已经对您要执行的操作提供了部分支持。做这个: …代替
问题内容: 所以我有以下格式的日志消息: 现在,我想删除所有不包含特定字符串“ xyz”的日志,并保留其余所有日志。我也想索引时间戳。 grokdebug没有太大帮助。 这是我的尝试: 我是新手,所以上面的模式可能没有意义。请帮忙。 问题答案: 要删除不包含字符串的消息: 您的骗子模式没有抓住日志的日期部分。 一旦在grok模式中有一个包含日期的字段,就可以在该字段上调用日期过滤器。 因此,您的g