message: Make dexgrep actually grep
  Summary: It was previously just doing a substring match.
diff: */
  #include <cstdio>
  -#include <cstring>
  #include <cstdlib>
  #include <getopt.h>
  +#include <regex>
  #include "DexCommon.h"
  @@ -22,12 +22,7 @@ int main(int argc, char* argv[]) {
  static const struct option options[] = {
  {"files-without-match", no_argument, nullptr, 'l'},
  };
  - while ((c = getopt_long(
  - argc,
  - argv,
  - "hl",
  - &options[0],
  - nullptr)) != -1) {
  + while ((c = getopt_long(argc, argv, "hl", &options[0], nullptr)) != -1) {
  switch (c) {
  case 'l':
  files_only = true;
  @@ -48,6 +43,7 @@ int main(int argc, char* argv[]) {
  }
  const char* search_str = argv[optind];
  + std::regex re(search_str);
  for (int i = optind + 1; i < argc; ++i) {
  const char* dexfile = argv[i];
  @@ -58,7 +54,7 @@ int main(int argc, char* argv[]) {
  for (uint32_t j = 0; j < size; j++) {
  dex_class_def* cls_def = rd.dex_class_defs + j;
  char* name = dex_string_by_type_idx(&rd, cls_def->typeidx);
  - if (strstr(name, search_str) != nullptr) {
  + if (std::regex_search(name, re)) {
  if (files_only) {
  printf("%s\n", dexfile);
  } else {
  