正则表达式在第二个最后一个下划线之后grep所有数字

时间:2011-02-04 16:03:21

标签: regex

我希望在字符串的第二个最后一个下划线之后获得所有角色的任何想法如何实现这一点

Input                             Output
PART1_PART2_PART3_G2010           PART3_G2010

任何想法正则表达式应该是什么样的

3 个答案:

答案 0 :(得分:6)

.*_([^_]*_[^_]*)$

与下划线之间的部分特定总数无关,如Andrea Spadaccini的正则表达式。

答案 1 :(得分:4)

如果您知道输入有三个下划线,Andrea Spadaccini的答案就有效。如果这个问题更普遍的意思是,在第二个下划线之后引用所有内容而不管之前有多少下划线,那么正则表达式需要从末尾搜索($):

 _([^_]*_[^_]*)$

答案 2 :(得分:1)

前N个不是下划线,而不是下划线。重复。将最后的字符分组。

[^_]*_[^_]*_(.*)