Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Regular Expressions
Code

Kodigo para sa JavaScript Regex

by
Length:MediumLanguages:

Tagalog (Wikang Tagalog) translation by Anna Nelson (you can also view the original English article)

Ang matagumpay na paggamit ng mga regular expressions ay nangangailangan na alamin ang ginagawa ng kada isang special character, flag at method. Ito ay isang simpleng kodigo ng mga regular expressions na maaari mong tignan kung hindi mo maalala kung papaano ginagamit ang isang method, espesyal na titik o flag.

Pag-dedefine ng Isang Regular Expression in JavaScript

Mayroong dalawang paraan para mag-define ng regular expression sa JavaScript.

  • var rgx = /^(\d+)/ — Maaari kang gumamit ng literal na regular expression at bakuran ang pattern sa pagitan ng mga slashes. Ito ay nai-evaluate sa oras ng compilation at nagbibigay ng mas magandang performance kung ang regular expression ay mananatiling constant.
  • var rgx = new RegExp('^(\d+)') — Ang constructor function ay kapaki-pakinabang kapag ang regular expression ay nagbabago sa program. Ang mga ito ay naicocompile habang nagrarun ang file.

Pagtutugma ng Tiyak na Pangkat ng Characters

Ang mga sumusunod na sequence ay maaaring gamitin upang magtugma ng tiyak na pangkat ng mga characters.

  • \w — Itinutugma lahat ng pangsalitang titik. Ang mga pangsalitang titik ay alphanumeric (a-z, A-Z characters, at underscore).
  • \W — Itinutugma lahat ng di-pangsalitang mga titik. Lahat maliban sa alphanumeric na mga titik at sa underscore.
  • \d — Itinutugma lahat ng tambilang titik. Maski anong tambilang mula sa 0 hanggang 9.
  • \D — Itinutugma lahat ng tambilang titik. Maski anong tambilang mula sa 0 hanggang 9.
  • \s — Itinutugma lahat ng whitespace na mga titik. Kasama dito ang mga puwang, mga tabs, at line breaks.
  • \S — Itinutugma lahat ng iba pang mga titik bukod sa whitespace.
  • . — Ititnutugma ang maski na anong titik bukod sa line breaks.
  • [A-Z] — Itinutugma lahat ng mga titik na nasasaklaw. Halimbawa, ang [A-E] ay magtutugma sa A, B, C, D, at E.
  • [ABC] — Itinutugma ang isang titik sa binigay na pangkat. Halimbawa, ang [AMT] ay itutugma lang sa A, M at T.
  • [^ABC] — Itinutugma ang lahat ng mga titik na wala sa binigay na pangkat. Halimbawa, [^A-E] ay tutugma sa lahat ng titik bukod sa A, B, C, D, at E.

Pagtitiyak sa Bilang ng Titik na Itutugma

Ang lahat ng expressions sa itaas ay magtutugma ng isang titik kada oras. Maaari kang magdagdag ng mga quantifiers upang matiyak kung ilang bilang ang dapat maisama sa isang pagtutuma.

  • + — Itinutugma ang isa o higit pang pagkakatulad sa naunang token. Halimbawa, ang \w+ ay magbabalik ng ABD12D bilang isang tugma sa halip na anim na iba-ibang mga tugma. 
  • * — Itinutugma ang mula sa zero o higit pang pagkakatulad sa naunang token. Halimbawa, ang b\w* ay tutugma sa mga bold na bahagi sa b, bat, bajhdsfbfjhbe. Sa madaling salita, ito ay nagtutugma mula sa wala o higit pang mga pansalitang titik pagkatapos ng ‘b’.
  • {m, n} — Itinutugma ang mula m hanggang n na pagkakatugma ng naunang token. Ang {m,} ay magtutugma ng mula sa m na pagkakatugma, at walang hangganan sa maaaring maitugma. Ang {k} ay magtutugma lang ng eksaktong k na pagkakahalintulad sa naunang token.
  • ? — Itinutugma ang wala o isang pagkakahalintulad ng naunang titik. Halimbawa, ito ay mabisang gamitin kapag nagtutugma ng dalawang magkaibang pagbabaybay ng iisang salita. Halimbawa, ang /behaviou?r/ ay tutugma sa parehong behavior at behaviour.
  • | — Itinutugma ang expression bago o pagkatapos ang pipe na titik. Halimbawa, ang /se(a|e)/ ay tutugma sa parehong see at sea.

Mga Regular Expressions na May Kinalaman sa Parenthesis

  • (ABC) — Ito ay maggugrupo ng maraming token at magtatanda ng substring na naitugma sa kanila para sa gamit sa hinaharap. Ang tawag sa lupong ito ay capturing group.
  • (?:ABC) — Igugrupo rin nito ang maraming token ngunit hindi nito matatandaan ang pagtutugma. Ito ay isang non-capturing na grupo.
  • \d+(?=ABC) — Ito ay itutugma ang (mga) token na nauna sa (?=ABC) na bahagi ngunit kapag kasunod lang ito ng ABC. Ang parting ABC ay hindi isasama sa pagtutugma. Ang \d part ay isa lang halimbawa. Ito ay maaaring maging kahit na anong regular expression string.
  • \d+(?!ABC) — Ito ay itutugma ang (mga) token na nauna sa (?=ABC) na bahagi ngunit kapag kasunod lang ito ng ABC. Ang parting ABC ay hindi isasama sa pagtutugma. Ang \d part ay isa lang halimbawa. Ito ay maaaring maging kahit na anong regular expression string.

Iba pang Regular Expression Characters

May iba pang mga regular expression characters na hindi naisali sa mga nakaraang sections:

  • ^ — Maghanap pa ng ibag regular expression sa simula ng string o sa simula ng linya kung ang multiline flag ay hindi naka-enable.
  • $ — Maghanap pa ng ibag regular expression sa simula ng string o sa simula ng linya kung ang multiline flag ay hindi naka-enable.
  • \b — Itugma ang naunang token ngunit kung mayroon lamang hangganan sa salita.
  • \B — Itugma ang naunang token ngunit kung mayroon lamang hangganan sa salita.

Paggamit ng mga Flags Gamit ang mga Regular Expressions

Ang mga flags ay maaaaring gamitin upang kontroling kung papaano dapat iiinterpret ang isang regular expression. Maaari kang gumamit ng flags ng isa lang o maramihan sa kahit na anong ayos na gusto mo. Ito ang limang flags na maaaring magamit sa JavaScript.

  • g — Hanapin ang string para sa lahat ng tugma sa isang binigay na expression sa halip na bumalik sa una.
  • i — Gawing case-insensitive ang mga salita upang maitutugma kaagad ang mga salitang gaya ng Apple, aPPLe at apple.
  • m — Ang flag na ito ay sisiguruhin na ang ^ at ang $ na tokens ay naghahanap ng tugma sa simula o dulo ng kada linya sa halip na sa buong string.
  • u — Ang flag na ito ay hahayaan kang gamitin ang Unicode code point escapes para sa regular expression.
  • y — Sasabihin nito sa JavaScript na maghanap lamang sa kasalukuyang position sa target string.

Maaari kang magtiyak ng flags para sa isang regular expression sa JavaScript sa pamamagitan ng pagdadagdag sa kanila sa dulo ng regular expression literal o sa pagpapasa sa mga ito sa RegExp constructor. Halimbawa, ang /cat/i ay itutugma lahat ng kaparehas ng cat maski ano pang case nito, at ang RegExp("cat", 'i') ay pareho rin ng ginagawa.

Kapaki-pakinabang na Regular Expression Methods sa JavaScript

Ang regular expressions na nilikha mo gamit ang flags at pagkakasunod-sunod ng mga titik na natalakay natin ay dapat isinasama sa ibang mga methods para maghanap, palitan o hatiin ang string. Narito ang ilang mga methods na may kinalaman sa mga regular expressions.  

  • test() —Tignan kung ang pangunahing string ay naglalaman ng substring na tutugma sa pattern na tiniyak ng regular expression. Magbabalik ito ng true sa matagumpay na match, at false naman kung hindi.

Sa halimbawa sa itaas, ang regular expression ay dapat maghanap ng salitang apples sa dulo lamang ng string. Kaya nakakuha tayo ng false sa unang kaso.

  • search() —Tignan kung ang pangunahing string ay naglalaman ng substring na tutugma sa pattern na tiniyak ng regular expression. Magbabalik ito ng ang index ng match kapag matagumpay itong nahanap at -1 kung hindi.

Sa kasong ito, ang unang regular expression ay nagbalik ng -1 sapagkat walang eksaktong case-sensitive na tugma.

  • match() — Tignan kung ang pangunahing string ay naglalaman ng substring na tutugma sa pattern na tiniyak ng regular expression. Kung ang g flag ay gumagana, maraming matches ang ibabalik bilang isang array.
  • exec() —  Tignan kung ang pangunahing string ay naglalaman ng substring na tutugma sa pattern na tiniyak ng regular expression. Ang naibalik na array ay maglalaman ng impormasyon tungkol sa tugma at sa capturing groups.
  • replace() — Maghanap ng isang substring na tutugma sa binigay na pattern at palitan ito ng binigay na replacement string.
  • split() — Ang method na ito ay hahayaan kang paghiwalayin ang pangunahing strings at substrings ayon sa separator na tiniyak bilang isang regular expression.

Konklusyon

Sa mga nakaraang pagtuturo, natalakay ko na ang mga basics ng regular expressions pati na rin ang ilang kumplikadong regular expressions na maaaring maging kapaki-pakinabang paminsan-minsan. Ang dalawang pagtuturo ay pinapaliwanag kung papaanong ang magkaibang mga titik o pagkakasunod-sunod ng mga titik ay gumagana sa loob ng regular expressions.

Kung nalilito ka pa rin sa regular expressions, ang payo ko ay ituloy lang ang pageensayo at tignan kung papaano nakakagawa ng regular expressions ang ibang tao para makagawa ng partikular na pattern.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.