如果不用Ruby,我真不知道该怎么办
@@rules = [{ # 文件名转换规则 :from => /^(?\S+?) (?[^+]*)\+(?[^+]*)\+(?[^+]*)\+((?[^+]*)\+)?(?[^+]*)\+(?[^+]+)$/, :to => '2013年度\k-\k-\k-\k\k-\k-\k-20130620',}, { :from => /^(?.+?) (?.+?)\((?.+?)\)(?.+?)( |—)(?.+)$/, :to => '2013年度\k-\k-\k--\k-\k',}, { :from => /^(?.+?)( |--)(?.+?)(-|--)(?[^-]+)$/, :to => '2013年度---\k-\k-\k-2013-06-20',}, { :from => /^(?.+?)(\s+|--)(?[^ -—]+?)(-+|—| )(?[^ -—]+?)((-+|—| )(?\d+))?$/, :to => '2013年度---\k-\k-\k-\k',}, { :from => /^(?[^ -]+?)( |--)(?.+?)/, :to => '2013年度---\k-\k--2013-06-20',}]
文件名转换成功率达到了99.69%(319/320)。
原文地址:Ruby 的正则表达式真是强大啊, 感谢原作者分享。 坚守自己的原则,世界上的诱-惑很多,