re.error: multiple repeat 解决方法

本文介绍在使用re.sub时遇到因特殊字符导致的错误及解决方案。通过使用re.escape(pattern)来转义字符串中可能被误解释为正则运算符的字符。

本人是在使用re.sub替换字符串时出现上述报错

检查后发现是re.sub中的参数

pattern : 正则中的模式字符串中出现了特殊字符,例如*+?{m}{m,n}

使用re.escape(pattern)对字符串中所有可能被解释为正则运算符的字符进行转义,可解决此问题

希望能给大家提供参考

Internal Error occurred. org.junit.platform.commons.JUnitException: TestEngine with ID 'junit-jupiter' failed to discover tests at org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.discoverEngineRoot(EngineDiscoveryOrchestrator.java:111) at org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.discover(EngineDiscoveryOrchestrator.java:85) at org.junit.platform.launcher.core.DefaultLauncher.discover(DefaultLauncher.java:92) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:75) at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71) at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) Caused by: org.junit.platform.commons.JUnitException: MethodSelector [className = 'com.ruoyi.ServiceTest', methodName = 'testSomething', methodParameterTypes = ''] resolution failed at org.junit.platform.launcher.listeners.discovery.AbortOnFailureLauncherDiscoveryListener.selectorProcessed(AbortOnFailureLauncherDiscoveryListener.java:39) at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.resolveCompletely(EngineDiscoveryRequestResolution.java:102) at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.run(EngineDiscoveryRequestResolution.java:82) at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolver.resolve(EngineDiscoveryRequestResolver.java:113) at org.junit.jupiter.engine.discovery.DiscoverySelectorResolver.resolveSelectors(DiscoverySelectorResolver.java:46) at org.junit.jupiter.engine.JupiterTestEngine.discover(JupiterTestEngine.java:69) at org.junit.platform.l
08-20
Internal Server Error: /sms/send/ Traceback (most recent call last): File "C:\Users\Kerr\Desktop\dingdan\venv\lib\site-packages\django\core\handlers\exception.py", line 55, in inner response = get_response(request) File "C:\Users\Kerr\Desktop\dingdan\venv\lib\site-packages\django\core\handlers\base.py", line 197, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "C:\Users\Kerr\Desktop\dingdan\web\views\account.py", line 139, in sms_send if not form.is_valid(): File "C:\Users\Kerr\Desktop\dingdan\venv\lib\site-packages\django\forms\forms.py", line 201, in is_valid return self.is_bound and not self.errors File "C:\Users\Kerr\Desktop\dingdan\venv\lib\site-packages\django\forms\forms.py", line 196, in errors self.full_clean() File "C:\Users\Kerr\Desktop\dingdan\venv\lib\site-packages\django\forms\forms.py", line 433, in full_clean self._clean_fields() File "C:\Users\Kerr\Desktop\dingdan\venv\lib\site-packages\django\forms\forms.py", line 445, in _clean_fields value = field.clean(value) File "C:\Users\Kerr\Desktop\dingdan\venv\lib\site-packages\django\forms\fields.py", line 200, in clean self.run_validators(value) File "C:\Users\Kerr\Desktop\dingdan\venv\lib\site-packages\django\forms\fields.py", line 185, in run_validators v(value) File "C:\Users\Kerr\Desktop\dingdan\venv\lib\site-packages\django\core\validators.py", line 52, in __call__ regex_matches = self.regex.search(str(value)) File "C:\Users\Kerr\Desktop\dingdan\venv\lib\site-packages\django\utils\functional.py", line 266, in inner self._setup() File "C:\Users\Kerr\Desktop\dingdan\venv\lib\site-packages\django\utils\functional.py", line 419, in _setup self._wrapped = self._setupfunc() File "C:\Users\Kerr\Desktop\dingdan\venv\lib\site-packages\django\utils\regex_helper.py", line 348, in _compile return re.compile(regex, flags) File "C:\python_3.9.1\lib\re.py", line 252, in compile return _compile(pattern, flags) File "C:\python_3.9.1\lib\re.py", line 304, in _compile p = sre_compile.compile(pattern, flags) File "C:\python_3.9.1\lib\sre_compile.py", line 764, in compile p = sre_parse.parse(p, flags) File "C:\python_3.9.1\lib\sre_parse.py", line 948, in parse p = _parse_sub(source, state, flags & SRE_FLAG_VERBOSE, 0) File "C:\python_3.9.1\lib\sre_parse.py", line 443, in _parse_sub itemsappend(_parse(source, state, verbose, nested + 1, File "C:\python_3.9.1\lib\sre_parse.py", line 671, in _parse raise source.error("multiple repeat", re.error: multiple repeat at position 12 [11/Oct/2025 18:00:56] "POST /sms/send/ HTTP/1.1" 500 141019 Internal Server Error: /sms/send/ Traceback (most recent call last): File "C:\Users\Kerr\Desktop\dingdan\venv\lib\site-packages\django\core\handlers\exception.py", line 55, in inner response = get_response(request) File "C:\Users\Kerr\Desktop\dingdan\venv\lib\site-packages\django\core\handlers\base.py", line 197, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "C:\Users\Kerr\Desktop\dingdan\web\views\account.py", line 139, in sms_send if not form.is_valid(): File "C:\Users\Kerr\Desktop\dingdan\venv\lib\site-packages\django\forms\forms.py", line 201, in is_valid return self.is_bound and not self.errors File "C:\Users\Kerr\Desktop\dingdan\venv\lib\site-packages\django\forms\forms.py", line 196, in errors self.full_clean() File "C:\Users\Kerr\Desktop\dingdan\venv\lib\site-packages\django\forms\forms.py", line 433, in full_clean self._clean_fields() File "C:\Users\Kerr\Desktop\dingdan\venv\lib\site-packages\django\forms\forms.py", line 445, in _clean_fields value = field.clean(value) File "C:\Users\Kerr\Desktop\dingdan\venv\lib\site-packages\django\forms\fields.py", line 200, in clean self.run_validators(value) File "C:\Users\Kerr\Desktop\dingdan\venv\lib\site-packages\django\forms\fields.py", line 185, in run_validators v(value) File "C:\Users\Kerr\Desktop\dingdan\venv\lib\site-packages\django\core\validators.py", line 52, in __call__ regex_matches = self.regex.search(str(value)) File "C:\Users\Kerr\Desktop\dingdan\venv\lib\site-packages\django\utils\functional.py", line 266, in inner self._setup() File "C:\Users\Kerr\Desktop\dingdan\venv\lib\site-packages\django\utils\functional.py", line 419, in _setup self._wrapped = self._setupfunc() File "C:\Users\Kerr\Desktop\dingdan\venv\lib\site-packages\django\utils\regex_helper.py", line 348, in _compile return re.compile(regex, flags) File "C:\python_3.9.1\lib\re.py", line 252, in compile return _compile(pattern, flags) File "C:\python_3.9.1\lib\re.py", line 304, in _compile p = sre_compile.compile(pattern, flags) File "C:\python_3.9.1\lib\sre_compile.py", line 764, in compile p = sre_parse.parse(p, flags) File "C:\python_3.9.1\lib\sre_parse.py", line 948, in parse p = _parse_sub(source, state, flags & SRE_FLAG_VERBOSE, 0) File "C:\python_3.9.1\lib\sre_parse.py", line 443, in _parse_sub itemsappend(_parse(source, state, verbose, nested + 1, File "C:\python_3.9.1\lib\sre_parse.py", line 671, in _parse raise source.error("multiple repeat", re.error: multiple repeat at position 12 [11/Oct/2025 18:01:00] "POST /sms/send/ HTTP/1.1" 500 141019
最新发布
10-12
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值