/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 2 1 ĠJetBrains Ġs . r . o . Ġand ĠKotlin ĠProgramming ĠLanguage Ġcontributors . Ċ Ġ* ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe Ġlicense / LICENSE . txt Ġfile . Ċ Ġ*/ Ċ Ċ package Ġtest . text Ċ Ċ import Ġkotlin . test .* Ċ Ċ class ĠRegex Js Test Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġreplace () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġjs Ġcapturing Ġgroup Ġname Ġcan Ġcontain ĠUnicode Ġletters , Ġ$ , Ġ_, Ġand Ġdigits Ġ( 0 - 9 ), Ġbut Ġmay Ġnot Ġstart Ġwith Ġa Ġdigit . ĊĠĠĠĠĠĠĠ Ġ// Ġj vm Ġcapturing Ġgroup Ġname Ġcan Ġcontain Ġa - z , ĠA - Z , Ġand Ġ 0 - 9 , Ġbut Ġmay Ġnot Ġstart Ġwith Ġa Ġdigit . ĊĠĠĠĠĠĠĠ Ġ// Ġmake Ġsure Ġreference Ġto Ġcapturing Ġgroup Ġname Ġin ĠK / JS ĠRegex . replace ( input , Ġreplacement ) Ġo be ys ĠK / JVM Ġrules ĊĠĠĠĠĠĠĠ Ġval Ġinput Ġ= Ġ" 1 2 3 - 4 5 6 " ĊĠĠĠĠĠĠĠ ĠRegex (" (? < first _ part > \\ d +) -( ?< second _ part > \\ d +) "). let Ġ{ Ġregex Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" 1 2 3 / 4 5 6 ", Ġregex . replace ( input , Ġ"$ 1 /$ 2 ")) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" 1 2 3 / 4 5 6 ", Ġregex . replace First ( input , Ġ"$ 1 /$ 2 ")) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" 1 2 3 / 4 5 6 ", Ġregex . replace ( input , Ġ"\ ${ first _ part }/ \ ${ second _ part } ")) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" 1 2 3 / 4 5 6 ", Ġregex . replace First ( input , Ġ"\ ${ first _ part }/ \ ${ second _ part } ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠRegex (" (? < \$ first > \\ d +) -( ?< \$ second > \\ d +) "). let Ġ{ Ġregex Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" 1 2 3 / 4 5 6 ", Ġregex . replace ( input , Ġ"\ ${ \$ first }/ \ ${ \$ second } ")) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" 1 2 3 / 4 5 6 ", Ġregex . replace First ( input , Ġ"\ ${ \$ first }/ \ ${ \$ second } ")) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Fails With < IllegalArgumentException > Ġ{ Ġregex . replace ( input , Ġ"\ ${ first }/ \ ${ second }") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Fails With < IllegalArgumentException > Ġ{ Ġregex . replace First ( input , Ġ"\ ${ first }/ \ ${ second }") Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠRegex (" (? < first > \\ d +) -( ?< second > \\ d +) "). let Ġ{ Ġregex Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Fails With < IllegalArgumentException > Ġ{ Ġregex . replace ( input , Ġ"\ ${ \$ first }/ \ ${ \$ second }") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Fails With < IllegalArgumentException > Ġ{ Ġregex . replace First ( input , Ġ"\ ${ \$ first }/ \ ${ \$ second }") Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }