Python 要在最后-(破折号)之后匹配的正则表达式
建议一个正则表达式,以匹配最后-(破折号)之后的任何内容Python 要在最后-(破折号)之后匹配的正则表达式,python,regex,Python,Regex,建议一个正则表达式,以匹配最后-(破折号)之后的任何内容 案例1 [1]中的a='abc-def-ghi' Out[2]:结果='-ghi' 案例2 [1]中的a='abc-def-ghi2323' Out[2]:结果='-ghi 232' 我试过跟着正则表达式 -[\s |\w |\d]+(?!.\-) 但在以下情况下无法获得愿望输出: Aaab,xyz,abc-报价编号18155试试这个:-[^-]*(?!.-) 输入:abc-def-ghi 匹配1:-ghi 输入:abc-def
- 案例1
[1]中的a='abc-def-ghi' Out[2]:结果='-ghi'
- 案例2
a='abc-def-ghi2323' Out[2]:结果='-ghi 232'
-[\s |\w |\d]+(?!.\-)
但在以下情况下无法获得愿望输出:
Aaab,xyz,abc-报价编号18155
试试这个:-[^-]*(?!.-)
输入:
abc-def-ghi
匹配1:-ghi
输入:abc-def-ghi2323
匹配1:
-ghi 2323
您可以匹配最终用途$
完整正则表达式:-[^-]*$
如果您不需要使用正则表达式 您只需使用
'-'+str.split('-')[-1]
我就想到了这个:
-[^-]*$
适用于您的两个示例一个简单的非
正则表达式
解决方案:
a = 'abc - def - ghi'
print('-{}'.format(a.rsplit('-', 1)[1]))
# - ghi
你试过什么?@appleapple我试过
-[\s |\w |\d]+(?!.\-)
,然后把它付诸实践。加上您的失败示例(输入、输出、正则表达式)。更好a你会接受非正则表达式的解决方案吗?@theausome谢谢,但我只需要正则表达式。Upps你快了一点:3好。这可能对将来的人有所帮助。