-1

我有一个字符串(操作日志信息),它是不同单词的组合,并且都由分号(;)操作。我想提取告诉我客户是否有资格进行操作的 23 个单词。

我是正则表达式的新手,请你帮我找出正则表达式。我将在Dynatrace工具中使用这个正则表达式,其中 JAVA 正则表达式函数不起作用

字符串示例 1: 57423543521;314743352134;Source;Tue Apr 02 12:32:44 BST 2019;ELIGIBILITY;ABC345;MyChannel;DUMBRE;1;RR87835;NM;2019-04-02T07:20:00.000Z;VV;;;M;N;XCB234657;;24234SDF4435345;MrNitinDumbre;N;N;DFD4546;Adult;;MYTICKET;4535435435;;657657655;PP;N;Y;;Y;;N;;;Unconfirmed;;;Not Performed;OK;;Not Known

===> 字符串上方的第 23 个单词是'N'(在 'DFD4546;Adult' 之前,标记为BOLD

字符串示例 2: 435435435435;345435435657;Source;Tue Apr 02 14:42:20 BST 2019;ELIGIBILITY;PQR490;MyChannel;DUMBRE;2;LK345029;CDGPNQ;2019-04-02T21:15:00.000Z;TT;;;W;Y;;N;34243DFGDFG32434;ProfNitin FDGDFDumbre;N;Y;;Adult;;MYTICKET;345435435;;;;N;Y;;Y;;N;Y;;Unconfirmed;;;Cleared;OK;;Not Known

===> 字符串上方的第 23 个单词是'Y'(在 ';Adult' 标记为BOLD之前)

提前致谢

4

1 回答 1

1

您可以使用此正则表达式准确获取第 23 个单词,并从 group1 中捕获它

(?:([^;]*);){23}

这里,外部非分组括号匹配零个或多个任何字符,除了;using[^;]*后跟 a;并且整个它23使用{23}量词精确匹配时间,其中最后一个匹配被捕获在组 1 中使用([^;]*)

演示

于 2019-04-02T20:15:25.943 回答