use strict;
my $str = '2022-04-13 17:00:00,000|DEBUG|WebContainer : 31 |MnmServletFilter | [MNMLOG] CATEGORY=FILTER,TYPE=SERVLET_ACTION,ACTION=SERVLET_BEGIN,CLASS=tw.com.iisi.gaia.mnm.MnmServletFilter,THREAD_NAME=WebContainer : 31,THREAD_ID=1409,SESSION_ID=\'null\',AUTH_TYPE=\'null\',CHAR_ENCODING=\'null\',CONTENT_LENGTH=\'-1\',CONTENT_TYPE=\'null\',CONTEXT_PATH=\'WebApp\',LOCALE=\'zh_TW\',LOCALES={zh_TW},METHOD=\'GET\',PATH_INFO=\'null\',PATH_TRANSLATED=\'null\',PROTOCOL=\'HTTP/1.1\',REMOTE_ADDR=\'10.0.5.61\',REMOTE_HOST=\'etabsmnm\',REMOTE_USER=\'null\',REQUESTED_SESSION_ID=\'null\',REQUEST_URI=\'/WebApp/hg\',COOKIES={},HEADER_PARAMS={User-Agent=\'Jakarta Commons-HttpClient/3.1\',Host=\'10.0.59.37:9080\'},QUERY_STRING=\'null\'
2022-04-13 17:00:01,524|INFO |WebContainer : 31 |GaiaHGServlet | - | - | - | tw.com.iisi.gaia.hg.base.servlet.GaiaHGServlet.doGet(GaiaHGServlet.java:79) | 1945383 | - | [HGSERVLET][10.0.5.61] doGet() called
2022-04-13 17:00:01,524|INFO |WebContainer : 31 |GaiaHGServlet | - | - | - | tw.com.iisi.gaia.hg.base.servlet.GaiaHGServlet.processRequest(GaiaHGServlet.java:89) | 1945384 | - | [HGSERVLET][10.0.5.61] CharacterEncoding: null
2022-04-13 17:00:01,527|INFO |WebContainer : 31 |GaiaHGServlet | - | - | - | tw.com.iisi.gaia.hg.base.servlet.GaiaHGServlet.processRequest(GaiaHGServlet.java:91) | 1945385 | - | [HGSERVLET][10.0.5.61] inputXml:
';
my $regex = qr/\d{4}(?>-\d{2}){2} \d{2}(?>:\d{2}){2}\,\d{3}\|[ A-Z]{5}\|.*/mp;
if ( $str =~ /$regex/g ) {
print "Whole match is ${^MATCH} and its start/end positions can be obtained via \$-[0] and \$+[0]\n";
# print "Capture Group 1 is $1 and its start/end positions can be obtained via \$-[1] and \$+[1]\n";
# print "Capture Group 2 is $2 ... and so on\n";
}
# ${^POSTMATCH} and ${^PREMATCH} are also available with the use of '/p'
# Named capture groups can be called via $+{name}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Perl, please visit: http://perldoc.perl.org/perlre.html