package Ġcom . hu anch eng fly . ti eba . post . utils Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . text . Sp ann able String Ċ import Ġandroid . text . Sp anned . SPAN _ EXCL USIVE _ EXCL USIVE Ċ import Ġcom . hu anch eng fly . ti eba . post . components . spans . My URL Span Ċ import Ġorg . intellij . lang . annotations . RegExp Ċ import Ġjava . util . regex . Pattern Ċ Ċ object ĠB ilib ili Util Ġ{ ĊĠĠĠ Ġ@ RegExp ĊĠĠĠ Ġconst Ġval ĠREG EX _ BV Ġ= Ġ" BV ([ a - zA - Z 0 - 9 ]{ 1 0 })" ĊĊĠĠĠ Ġ@ RegExp ĊĠĠĠ Ġconst Ġval ĠREG EX _ AV Ġ= Ġ" av ([ 0 - 9 ]{ 1 , })" ĊĊĠĠĠ Ġ@ RegExp ĊĠĠĠ Ġconst Ġval ĠREG EX _ CV Ġ= Ġ" cv ([ 0 - 9 ]{ 1 , })" ĊĊĠĠĠ Ġ@ RegExp ĊĠĠĠ Ġconst Ġval ĠREG EX _ AU Ġ= Ġ" au ([ 0 - 9 ]{ 1 , })" ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġreplace Video Number Span ( ĊĠĠĠĠĠĠĠ Ġcontext : ĠContext , ĊĠĠĠĠĠĠĠ Ġsource : ĠCharSequence ? ĊĠĠĠ Ġ): ĠSp ann able String Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( source Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠSp ann able String ("") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( source Ġis ĠSp ann able String ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsource ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSp ann able String ( source ) ĊĠĠĠĠĠĠĠ Ġ}. also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreplace ( context , ĠREG EX _ BV , Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreplace ( context , ĠREG EX _ AV , Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreplace ( context , ĠREG EX _ CV , Ġit , Ġ" https :// www . b ilib ili . com / read /") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreplace ( context , ĠREG EX _ AU , Ġit , Ġ" https :// www . b ilib ili . com / audio /") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġreplace ( ĊĠĠĠĠĠĠĠ Ġcontext : ĠContext , ĊĠĠĠĠĠĠĠ Ġregex : ĠString , ĊĠĠĠĠĠĠĠ Ġsource : ĠSp ann able String , ĊĠĠĠĠĠĠĠ Ġurl Prefix : ĠString Ġ= Ġ" https :// www . b ilib ili . com / video /" ĊĠĠĠ Ġ): ĠCharSequence Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpattern Ġ= ĠPattern . compile ( regex ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmatcher Ġ= Ġpattern . matcher ( source ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( matcher . find ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfound : ĠString Ġ= Ġmatcher . group () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstart : ĠInt Ġ= Ġmatcher . start () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġspan Ġ= ĠMy URL Span ( context , Ġ"$ url Prefix $ found ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource . set Span ( span , Ġstart , Ġstart Ġ+ Ġfound . length , ĠSP AN _ EXCL USIVE _ EXCL USIVE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsource ĊĠĠĠ Ġ} Ċ }