$re = '/\d{4}(?>-\d{2}){2} \d{2}(?>:\d{2}){2}\,\d{3}\|[ A-Z]{5}\|.*/m';
$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:
';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
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 PHP, please visit: http://php.net/manual/en/ref.pcre.php