$re = '/^\(\s*([0-9]+)\)\[([a-zA-Z0-9\s*:]*)\|\s*([0-9]{1,5}\:[0-9]{3})\s*(?:\[([0-9]{1,3})\:[0-9]{1,3}\])?\]\{([0-9]{1,4})\}([a-zA-Z0-9]+)\@([a-zA-Z0-9]+)\:(.+)\((?:.+)\)([\$|#])\s{1}(.+)(\n(.+))+/m';
$str = '( 6)[Thu Sep 01 04:47:12| 2:000]{1}jhyland@jhmac:~(✓)$ ls
Applications kn Public bash_profile.orig pdfdata.json search_src-printr.txt vim-colorschemes
BaseServer.py LDEV-342302 VirtualBox VMs file.py pipe1 search_src.json vim-config
Desktop Library _includexmlrpc.php filename.txt profile-configs test.php vimrc.disabled
Documents Movies _includexmlrpc.php.original gvimrc.disabled profile-configs-orig test.txt
Downloads Music _includexmlrpc.php.original2 index.php protected_backup.tar.gz tester
Google Drive Pictures as.txt items.php.orig search-stuff.js tmp
InventoryServer.py ProblemServer.py.new-working bash_profile new.bash_profile search_src-20.json tmp.txt
( 6)[Thu Sep 01 04:47:13| 0:000]{2}jhyland@jhmac:~(✓)$ cd /tmp
( 6)[Thu Sep 01 04:47:18| 0:000]{3}jhyland@jhmac:/tmp(✓)$ ls | wc -l
15
( 6)[Thu Sep 01 04:47:22| 0:000]{4}jhyland@jhmac:/tmp(✓)$ sudo su -
( 6)[Thu Sep 01 04:47:25| 0:000]{1}root@jhmac:~(✓)# whoami
root
( 6)[Thu Sep 01 04:47:28| 0:000]{2}root@jhmac:~(✓)# history | tail -n 2
393 whoami
394 history | tail -n 2
( 6)[Thu Sep 01 04:47:39| 0:000]{3}root@jhmac:~(✓)#
( 6)[Thu Sep 01 04:47:40| 0:000]{3}root@jhmac:~(✓)# fail
-sh: fail: command not found
( 6)[Thu Sep 01 04:47:44| 0:000]{4}root@jhmac:~(127)#
( 6)[Thu Sep 01 04:47:44| 0:000]{4}root@jhmac:~(127)#
( 6)[Thu Sep 01 04:47:44| 0:000]{4}root@jhmac:~(127)# true
( 6)[Thu Sep 01 04:47:46| 0:000]{5}root@jhmac:~(✓)#
( 6)[Thu Sep 01 04:50:35| 0:000]{1}root@jhmac:~(✓)# exit
logout
( 6)[Thu Sep 01 04:50:07| 0:000]{8}jhyland@jhmac:~(✓)$ ls -1 | head
Applications
BaseServer.py
Desktop
Documents
Downloads
Google Drive
InventoryServer.py
LDEV-342302
Library
Movies';
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