首页 > 解决方案 > 正则表达式匹配 9 个空格字符之间的文本

问题描述

我想从如下所示的文本中捕获固定数量的 9 个空格之间的文本:Demo

     (LD4377) Masinuta clasica din lemn tractor - albastru             1                                                              buc                  3             15.00       45.00                  8.55         - Little Dutch         

我要提取的内容:(LD4377) Masinuta clasica din lemn tractor - albastru - Little Dutch

我正在使用什么:\s{9}((?:(?:[a-z0-9A-Z\-\/()])+[ ]{1})+)\s{9}

有没有更有效的方法来获取所需的文本?任何帮助深表感谢!

标签: regex

解决方案


您可以展开循环,首先仅重复字符类,然后可选地重复具有前导空格的非捕获组。

你可以[ ]{1}用一个空间来代替

\s{9}([a-z0-9A-Z\/()-]+(?: [a-z0-9A-Z-\/()-]+)*)\s{9}

正则表达式演示


推荐阅读