diff --git a/lib/src/parser.dart b/lib/src/parser.dart
index 8dafef9..cb15288 100644
--- a/lib/src/parser.dart
+++ b/lib/src/parser.dart
@@ -237,7 +237,7 @@
     var index = current.indexOf('=');
     var name = index == -1 ? current.substring(2) : current.substring(2, index);
     for (var i = 0; i != name.length; ++i) {
-      if (!_isLetterOrDigitOrHyphen(name.codeUnitAt(i))) return false;
+      if (!_isLetterDigitHyphenOrUnderscore(name.codeUnitAt(i))) return false;
     }
     var value = index == -1 ? null : current.substring(index + 1);
     if (value != null && (value.contains('\n') || value.contains('\r'))) {
@@ -338,5 +338,9 @@
     // Digits.
     (codeUnit >= 48 && codeUnit <= 57);
 
-bool _isLetterOrDigitOrHyphen(int codeUnit) =>
-    _isLetterOrDigit(codeUnit) || codeUnit == 45;
+bool _isLetterDigitHyphenOrUnderscore(int codeUnit) =>
+    _isLetterOrDigit(codeUnit) ||
+    // Hyphen.
+    codeUnit == 45 ||
+    // Underscore.
+    codeUnit == 95;
diff --git a/test/parse_test.dart b/test/parse_test.dart
index 9c87487..9639567 100644
--- a/test/parse_test.dart
+++ b/test/parse_test.dart
@@ -61,6 +61,15 @@
         expect(results['verbose'], isTrue);
         expect(results['Verbose'], isFalse);
       });
+
+      test('match letters, numbers, hyphens and underscores', () {
+        var parser = ArgParser();
+        var allCharacters =
+            'abcdefghijklmnopqrstuvwxyz-ABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789';
+        parser.addFlag(allCharacters);
+        var results = parser.parse(['--$allCharacters']);
+        expect(results[allCharacters], isTrue);
+      });
     });
 
     group('flags negated with "no-"', () {
