Repository: nficano/humps

Issue:
1.3.1 gets confused with digits and dashes
Version 1.2.0:
```
>>> humps.camelize("test-1-2-3-4-5-6")
'test123456'
```

Version 1.3.1:
```
>>> humps.camelize("test-1-2-3-4-5-6")
'test12-34-56'
```

Discussion:

Patch:
diff --git a/humps/main.py b/humps/main.py
index 5d95b9a..9c58ac8 100644
--- a/humps/main.py
+++ b/humps/main.py
@@ -22,7 +22,7 @@ if is_py3:  # pragma: no cover
 ACRONYM_RE = re.compile(r"([A-Z]+)$|([A-Z]+)(?=[A-Z0-9])")
 PASCAL_RE = re.compile(r"([^\-_\s]+)")
 SPLIT_RE = re.compile(r"([\-_\s]*[A-Z]+[^A-Z\-_\s]+[\-_\s]*)")
-UNDERSCORE_RE = re.compile(r"([^\-_\s])[\-_\s]+([^\-_\s])")
+UNDERSCORE_RE = re.compile(r"(?<=[^\-_\s])[\-_\s]+([^\-_\s])")
 
 
 def pascalize(str_or_iter):
@@ -85,7 +85,7 @@ def camelize(str_or_iter):
             the regex capture group for "o_w".
         :rtype: str
         """
-        return match.group(1) + match.group(2).upper()
+        return match.group(1).upper()
 
     str_items.extend(
         [


Test patch:
diff --git a/tests/test_camelize.py b/tests/test_camelize.py
index 5b16f13..67d8ff8 100644
--- a/tests/test_camelize.py
+++ b/tests/test_camelize.py
@@ -23,6 +23,12 @@ import humps
         ("__APIResponse__", "__APIResponse__"),
         # Fixed issue #128
         ("whatever_10", "whatever10"),
+        # Fixed issue # 18
+        ("test-1-2-3-4-5-6", "test123456"),
+        # Fixed issue # 61
+        ("test_n_test", "testNTest"),
+        # Fixed issue # 148
+        ("field_value_2_type", "fieldValue2Type"),
     ],
 )
 def test_camelize(input_str, expected_output):