正则表达式获取字符串的第一部分
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式获取字符串的第一部分相关的知识,希望对你有一定的参考价值。
我有这个正则表达式
(?<=d.s).+(?=s-s)
当我有一个像这样的字符串时它很好用
3. product - sub product
正则表达式给了我产品(第一部分)。如果存在子产品,则通过用空格包围的破折号(-
)从产品中分隔。
但是,有些产品没有副产品。例如:
6. ComprehensiveBolt
正则表达式应该给我comprehensiveBolt
但它不返回任何东西。
我需要对正则表达式进行哪些更新,以便无论子产品的存在与否,我都可以获得该产品?
答案
这是一种方式。 请注意,只有在您的产品可能是短语时才需要这样做。
(?<=d.s)(?:(?!s-s|d.s).)+
https://regex101.com/r/uC2yDs/1
部分解释
(?<= d . s ) # This must be behind
(?: # -----------
(?! # Neg assertion
s - s # Not this ahead
| d . s # Nor this ahead
)
. # Ok, grab this character
)+ # 1 to many times
以上是关于正则表达式获取字符串的第一部分的主要内容,如果未能解决你的问题,请参考以下文章