2024-09-27 21:27:41 发布
网友
可选的非捕获组是否冗余?在
是以下正则表达式:
(?:wo)?men
在语义上等价于以下正则表达式?在
你的(?:wo)?men和{}在语义上是等价的,但在技术上是不同的,即第一个是使用非捕获组,另一个是使用捕获组。因此,问题是当我们有捕获组时,为什么要使用非捕获组?在
非专业团队有时也有帮助。在
另外,它只是makes our matches cleaner:
You can use a non-capturing group to retain the organisational or grouping benefits but without the overhead of capturing.
重新考虑现有正则表达式以将捕获转换为非捕获组似乎不是一个好主意,因为它may ruin the code或需要太多的精力。在
你的}在语义上是等价的,但在技术上是不同的,即第一个是使用非捕获组,另一个是使用捕获组。因此,问题是当我们有捕获组时,为什么要使用非捕获组?在
(?:wo)?men
和{非专业团队有时也有帮助。在
注意这不适用于Java正则表达式引擎,也不适用于PHP或.NET正则表达式引擎。在
另外,它只是makes our matches cleaner:
重新考虑现有正则表达式以将捕获转换为非捕获组似乎不是一个好主意,因为它may ruin the code或需要太多的精力。在
相关问题 更多 >
编程相关推荐