diff --git a/mmengine/config/config.py b/mmengine/config/config.py
index 4b7602d9b006a63b9346ade8bcfb762e07c129a2..82eecda3b8d9e61d25bc1ecbe032e0ff0a9e0584 100644
--- a/mmengine/config/config.py
+++ b/mmengine/config/config.py
@@ -4,7 +4,6 @@ import copy
 import os
 import os.path as osp
 import platform
-import re
 import shutil
 import sys
 import tempfile
@@ -26,6 +25,11 @@ DELETE_KEY = '_delete_'
 DEPRECATION_KEY = '_deprecation_'
 RESERVED_KEYS = ['filename', 'text', 'pretty_text']
 
+if platform.system() == 'Windows':
+    import regex as re
+else:
+    import re  # type: ignore
+
 
 class ConfigDict(Dict):
     """A dictionary for config which has the same interface as python's built-
diff --git a/tests/data/config/py_config/test_code_in_config.py b/tests/data/config/py_config/test_code_in_config.py
index cd59844b7d5e670b216d7b5eb77ab50a839adc7f..d39c7cffe246b6c71026b71c53c9907fb01a2c00 100644
--- a/tests/data/config/py_config/test_code_in_config.py
+++ b/tests/data/config/py_config/test_code_in_config.py
@@ -1,5 +1,5 @@
 # Copyright (c) OpenMMLab. All rights reserved.
-from mmcv import Config  # isort:skip
+from mmengine import Config  # isort:skip
 
 cfg = Config.fromfile('tests/data/config/py_config/simple_config.py')
 item5 = cfg.item1[0] + cfg.item2.a
diff --git a/tests/test_config/test_config.py b/tests/test_config/test_config.py
index dc80de8c6ed76eb32260ed048070848134074f31..87f08c8289e3dbbd3b4138bb6ba0909686b47242 100644
--- a/tests/test_config/test_config.py
+++ b/tests/test_config/test_config.py
@@ -169,7 +169,9 @@ class TestConfig:
             cfg.merge_from_dict(input_options, allow_list_keys=True)
 
     def test_auto_argparser(self):
-        tmp = sys.argv[1]
+        # Temporarily make sys.argv only has one argument and keep backups
+        tmp = sys.argv[1:]
+        sys.argv = sys.argv[:2]
         sys.argv[1] = osp.join(
             self.data_path,
             'config/py_config/test_merge_from_multiple_bases.py')
@@ -181,7 +183,7 @@ class TestConfig:
                 assert not getattr(args, key)
         # TODO currently do not support nested keys, bool args will be
         #  overwritten by int
-        sys.argv[1] = tmp
+        sys.argv.extend(tmp)
 
     def test_dump(self, tmp_path):
         file_path = 'config/py_config/test_merge_from_multiple_bases.py'