2

我在我正在处理的旧系统中发现了这个正则表达式。

(\s*)*

我很确定末尾的额外“ * ”是多余的,但我想确保在删除它之前没有做任何事情。如果用作参数的字符串有 25 个以上的空格,则在 regex.matches() 方法中使用它会导致性能问题,从而导致整个系统挂起

有人知道该特定语法是否具有特殊功能吗?

Ps:它是一个非常庞大的系统,所以我无法测试所有可能的场景

4

2 回答 2

1

这是多余的。您可以只使用多个匹配项来捕获 0 组或更多组空格,这是额外星号指定的内容。

于 2012-07-06T23:21:29.883 回答
1

假设内部*是贪婪的,那么,是的,我认为外部是多余的。外部*尝试重复子匹配,但子匹配只会有一个实例,因为它是贪婪的。

于 2012-07-06T23:21:45.757 回答