     read_group(const std::string& header_line)
     {
         // split string at each tab character
-        std::regex re("\\t+");
-
-        auto it = std::sregex_token_iterator(header_line.begin(),
-                                             header_line.end(),
-                                             re, -1);
-
-        for(; it != std::sregex_token_iterator(); it++)
-        {
-            auto token = it->str();
+        // note that we don't use std::regex because it seems to be unavailable on common Linux installations
+        const std::string delimiter = "\t";
+        std::string temp = header_line;
+        size_t pos = 0;
+        std::string token;
+
+        pos = temp.find(delimiter);
+        while(pos != std::string::npos)
+        {
+            token = temp.substr(0, pos);
+            temp.erase(0, pos + delimiter.length());
+
             // skip TG:
             auto value = token.substr(3, token.length() - 3);
 


            if (match_tag(token, "SM"))
                sample = value;
        }
    }
};

 */

#include <string>

#include "../alignment_data.h"
#include "alignments.h"
