我有以下正则表达式:
:57[^:]?:*[^:]*
我正在尝试创建以返回最后一个冒号之后的所有内容:
修改 的 :57A:/ 19000019
SOMEMORETEXT
:59:xxxxxxxx
它不应该从前面的标记或前一个标记返回任何内容,但我只能返回以下内容:
:57A:/19000019 SOMEMORETEXT
其中包括:57A: - 但我确实需要正斜杠,而最后一个角色需要另一个角色:
修改 的 好的,所以我继续前进。我现在用的是c#:
var result = Regex.Match(message, String.Format(":{0}[^:]?:*[^:]*", tag ));
现在返回我需要的所有项目,但所有项目都在一个字符串中,包括我不需要的标签。我怎么知道取这个字符串并根据\ n?
创建一个数组/列表答案 0 :(得分:1)
尝试看看后面的
(?<=\:\w{2,3}\:).*
答案 1 :(得分:0)
/^\(.*:\)*\(.*\)$/\2/
会做到这一点。
你可以用以下方法测试:
echo ':57A:/19000019 SOMEMORETEXT' | sed -e 's/^\(.*:\)*\(.*\)$/\2/'
如果有可能,那么我建议尝试在其分隔符上“拆分”字符串(使用除正则表达式之外的其他内容,例如'Split'之类的函数),因为这可能更可靠,更有效率