正则表达式在最后匹配 - (破折号)

时间:2018-04-20 07:46:31

标签: python regex

建议使用正则表达式以匹配最后的内容 - (破折号)

  • 案例1

    In [1]: a = 'abc - def - ghi' Out [2]: result = '- ghi'

    • 案例2

    In [1]: a = 'abc - def - ghi 2323' Out [2]: result = '- ghi 232'

我试过跟随正则表达式

-[\s|\w|\d]+)(?!.*\-)
但在以下情况下未能获得欲望输出:
Aaab, xyz, abc - Offer No. 18155

4 个答案:

答案 0 :(得分:2)

试试这个:-[^-]*(?!.*-)

在:abc - def - ghi 匹配1:- ghi

在:abc - def - ghi 2323 匹配1:- ghi 2323

答案 1 :(得分:2)

您可以匹配最终用途$

完整的正则表达式:-[^-]*$

如果您不需要使用正则表达式

您只需使用'-'+str.split('-')[-1]

即可

答案 2 :(得分:1)

我想出了这个:

-[^-]*$

适用于您的两个示例

答案 3 :(得分:0)

一个简单的非regex解决方案:

a = 'abc - def - ghi'
print('-{}'.format(a.rsplit('-', 1)[1]))
# - ghi