Kyauta Nema da Maye Gurbin Rubutu

Nema da maye gurbin rubutu da daidaituwa ta yau da kullum ko ta regex, adadin dacewa mai rai, da preview da aka haskaka. Yana goyan bayan rashin bambanci na babban/ƙaramin harafi, kalma-gaba-ɗaya, da regex capture-group backreferences.

Yana aiki babu haɗi da zarar an loda shi
Sauƙaƙan tsaftacewa
Shigar da kalmar bincike don farawa

💡 A yanayin regex, yi amfani da ƙungiyoyin kamawa a Nema kamar (\d{4})-(\d{2}) sannan a ambace su a Maye gurbi da $1, $2 — masu amfani wajen sake tsara kwanakin wata, sunaye, ko lambobi gaba ɗaya.

Yadda Yake Aiki

Nema da Maye Gurbi yana gudana gaba ɗaya a burauzarka ta amfani da injin RegExp na JavaScript da aka gina — babu ɗakin karatu, babu uwar garke, babu lodawa. Ana sarrafa rubutu a wurin nan nan take da ka buga, ta amfani da String.prototype.matchAll don ƙidaya da String.prototype.replace don maye gurbi.

  1. 1
    Alama an haɗa ta zuwa RegExp
    Yayin da kake bugawa, ana haɗa kalmar nema zuwa RegExp na JavaScript tare da debounce na 150 ms don kada alamomi masu matsala su daskarar da tab a kowace dannawa. A yanayin rubutu-sauƙi ana escape kowace metacharacter na regex tukuna, don haka ana bin ɗigogi da baka a matsayin harafi na gaskiya. Kunna yanayin Regex yana wucewa da alamarka kai tsaye. Yanayin Kalma-Cikakke yana lulluɓe alamar a cikin iyakokin kalma \b(?:...)\b, kuma yanayin Babu-bambanci-babba/karami yana ƙara alamar i.
  2. 2
    Wucewa guda ta matchAll tana ƙidayawa da haskakawa
    Kira daya na matchAll a kan rubutun da aka debounce yana samar da kowane abin daidaituwa. Ana karanta ƙidayar daidaituwa kai tsaye daga tsawon wannan jeri. Don rubutun ƙasa da haruffa 200,000, ana gina dubawa mai haske ta hanyar tafiya matsayin daidaituwa da lulluɓe kowace daidaituwa a wata alama <mark> — ana yin escape na HTML ga sassan rubutu danye kafin sakawa, ba bayan ba, don haka daidaituwa da suke ɗauke da &, <, ko > ana sarrafa su daidai.
  3. 3
    Maye gurbi da rubutu na gaskiya ko baya-tunani na ƙungiyar kamawa
    Ana samar da fitarwa da String.prototype.replace tare da alamar global, tana maye gurbin kowace daidaituwa lokaci guda. A yanayin rubutu-sauƙi, ana ninka duk $ a cikin harafin maye gurbi zuwa $$ don haruffa kamar $& da $1 su saka su gaskiya maimakon a fassara su a matsayin baya-tunani. A yanayin Regex, $1, $2, da sauransu suna aiki a matsayin maye gurbin ƙungiyar kamawa na JavaScript na al'ada.
  4. 4
    Kwafi ko sauke sakamakon
    Rubutun da aka sake rubutawa yana bayyana a wani textarea karanta-kawai yayin da kake bugawa. Kwafi yana amfani da navigator.clipboard.writeText API na burauza. Sauke yana gina Blob na nau'in text/plain lokaci guda kuma yana kunna ajiya na gida — babu wani da yake barin na'urarka a kowane lokaci.

Kayan Aiki Masu Alaƙa

Tambayoyin Da Ake Yi Sau Da Dama