【发布时间】:2020-02-13 16:56:42
【问题描述】:
我不知道如何找到第一个实例,然后使用正则表达式“向后”工作......
我有一些字符串,其中产品代码与产品名称相结合。不幸的是,分隔产品代码和产品代码的分隔符(破折号)是相同的。
产品代码可以有不同数量的分隔符。有些产品代码有一个破折号,而其他产品代码可能有多个破折号。
但是,我知道所有产品名称都有空格。
所以取这两个字符串,例如:
- “ABC-ER-015-30-NEW YORK 双色耳环”
- “ABC-1234-加州定制产品”
我想做相当于:
- 找到第一个空格...
- 然后向后查找最后一个破折号...
- 然后提取在那个破折号之前的所有内容...
所以我想从上面的 2 个例子中提取: - “ABC-ER-015-30” - “ABC-1234”
如果项目名称中没有破折号,则此方法有效:
(.*)-
但如果项目名称中有破折号,它会捕获项目名称的一部分。
我觉得我缺少一些非常简单的东西。
【问题讨论】:
标签: regex