സൗജന്യ കൺവെർട്ടർ

റീജക്സ് ടെസ്റ്റർ

നിങ്ങളുടെ ബ്രൗസറിൽ റെഗുലർ എക്‌സ്‌പ്രഷനുകൾ തൽക്ഷണം പരിശോധിച്ച് ഡീബഗ് ചെയ്യുക. മത്സരങ്ങൾ ഹൈലൈറ്റ് ചെയ്യുക, ക്യാപ്‌ചർ ഗ്രൂപ്പുകൾ കാണുക, പകരം മോഡ് ഉപയോഗിക്കുക - സൗജന്യവും സ്വകാര്യവും.

//g
പതാകകൾ:

ഈ ടൂളിനെ കുറിച്ച്

ടെക്സ്റ്റിലെ പാറ്റേണുകൾ പൊരുത്തപ്പെടുത്തുന്നതിനുള്ള ഒരു ഡൊമെയ്ൻ-നിർദ്ദിഷ്ട ഭാഷയാണ് റെഗുലർ എക്സ്പ്രഷനുകൾ. അവ 1968 മുതൽ കമ്പ്യൂട്ടിംഗിൻ്റെ ഭാഗമാണ്, ഇപ്പോൾ എല്ലാ ആധുനിക പ്രോഗ്രാമിംഗ് ഭാഷയിലും ടെക്സ്റ്റ് എഡിറ്ററിലും കമാൻഡ്-ലൈൻ തിരയൽ ടൂളിലും നിർമ്മിച്ചിരിക്കുന്നു. വാക്യഘടന സംക്ഷിപ്തമാണ്, പക്ഷേ പിശകുകൾക്ക് സാധ്യതയുണ്ട്: ചെറിയ മാറ്റങ്ങൾ സൂക്ഷ്മമായി വ്യത്യസ്തമായ പൊരുത്ത സ്വഭാവം ഉണ്ടാക്കുന്നു, സങ്കീർണ്ണമായ പദപ്രയോഗങ്ങൾ പെട്ടെന്ന് വായിക്കാൻ കഴിയില്ല. നിങ്ങൾ പാറ്റേൺ എഡിറ്റ് ചെയ്യുമ്പോൾ തത്സമയം പൊരുത്തങ്ങൾ കാണിക്കുന്ന ഒരു ടെസ്റ്ററാണ് regex വികസിപ്പിക്കുന്നതിനും പരിശോധിക്കുന്നതിനുമുള്ള ഏറ്റവും ഫലപ്രദമായ മാർഗം.

JavaScript regex എഞ്ചിൻ ഉപയോഗിച്ച് ഈ ടെസ്റ്റർ നിങ്ങളുടെ ബ്രൗസറിൽ പ്രവർത്തിക്കുന്നു (ഒരു ബ്രൗസറിൽ പ്രവർത്തിക്കുകയാണെങ്കിൽ നിങ്ങളുടെ ആപ്ലിക്കേഷൻ ഉപയോഗിക്കുന്ന അതേ ഒന്ന്). പാറ്റേണുകളും ടെസ്റ്റ് ടെക്‌സ്‌റ്റ് റിയാക്ടീവ് ആയി അപ്‌ഡേറ്റ് ചെയ്യുന്നു: ഒന്നുകിൽ ഓരോ മാറ്റവും മത്സരം വീണ്ടും പ്രവർത്തിപ്പിക്കുന്നു. മാച്ച് ഗ്രൂപ്പുകൾ ഹൈലൈറ്റ് ചെയ്യുന്നു, ക്യാപ്‌ചർ ചെയ്‌ത ഗ്രൂപ്പുകൾ ലിസ്‌റ്റ് ചെയ്‌തു, ഫ്ലാഗുകൾ (കേസ്-ഇൻസെൻസിറ്റീവ്, മൾട്ടിലൈൻ, ഗ്ലോബൽ) പരിശോധനയ്‌ക്കായി തുറന്നുകാട്ടുന്നു.

എഞ്ചിനുകൾക്കിടയിൽ Regex വാക്യഘടന സൂക്ഷ്മമായി വ്യത്യാസപ്പെടുന്നു. JavaScript ECMAScript സ്പെസിഫിക്കേഷൻ പിന്തുടരുന്നു; പൈത്തൺ, പിസിആർഇ (പിഎച്ച്‌പിയും മറ്റ് പലതും ഉപയോഗിക്കുന്നു), ജാവ, ഗോ എന്നിവയ്‌ക്ക് ഓരോന്നിനും അതിൻ്റേതായ ഭാഷാഭേദങ്ങളുണ്ട്, എന്നാൽ സമാന സവിശേഷതകളില്ല. ഇവിടെ വികസിപ്പിച്ച പാറ്റേണുകൾ ECMAScript വാക്യഘടന ഉപയോഗിക്കുന്നു; ക്രോസ് എഞ്ചിൻ പോർട്ടബിലിറ്റിക്ക് ഓരോ ടാർഗെറ്റിൻ്റെയും ഡോക്യുമെൻ്റേഷൻ പരിശോധിക്കേണ്ടതുണ്ട്.

എന്തുകൊണ്ട് ഒരു Regex ടെസ്റ്റർ ഉപയോഗിക്കുക

വിന്യാസത്തിന് ശേഷം ഡീബഗ് ചെയ്യാൻ Regex ബഗുകൾ കുപ്രസിദ്ധമാണ്. യുക്തിസഹമായി തോന്നുന്ന ഒരു പാറ്റേൺ ഉദ്ദേശിച്ചതിലും കൂടുതലോ കുറവോ പൊരുത്തപ്പെടാം, എഡ്ജ് കേസുകളിൽ പരാജയപ്പെടാം, അല്ലെങ്കിൽ ചില ഇൻപുട്ടുകളിൽ വിനാശകരമായ ബാക്ക്ട്രാക്കിംഗ് ഉണ്ടായിരിക്കാം. കോഡ് അവലോകനത്തിനും ഉൽപ്പാദനത്തിനും മുമ്പായി പ്രാതിനിധ്യ ഇൻപുട്ടിനെതിരെ പാറ്റേണുകൾ സംവേദനാത്മകമായി പരിശോധിക്കുന്നത് പ്രശ്നങ്ങൾ പരിഹരിക്കുന്നു.

ഡോക്യുമെൻ്റേഷനിൽ നിന്ന് പാറ്റേണുകളും പ്രയോജനപ്പെടുന്നു. ഇൻപുട്ടിനൊപ്പം ഒരു റീജക്‌സ് കാണിക്കുന്നത് അത് പൊരുത്തപ്പെടേണ്ടതും പൊരുത്തപ്പെടാത്ത ഇൻപുട്ടും ഉദ്ദേശം വ്യക്തമാക്കുന്നു. ഭാവിയിലെ മെയിൻ്റനർമാർ (ആറു മാസത്തിനുള്ളിൽ നിങ്ങളുൾപ്പെടെ) ഡോക്യുമെൻ്റഡ് ടെസ്റ്റ് കേസുകളെ അവർ സമർത്ഥരായ വൺ-ലൈനറുകളെ വിലമതിക്കുന്നതിനേക്കാൾ കൂടുതൽ വിലമതിക്കുന്നു.

ഉപയോഗിക്കേണ്ട വിധം

ഒരു പാറ്റേൺ ടൈപ്പ് ചെയ്യുക, ടെസ്‌റ്റ് ഇൻപുട്ട് ടൈപ്പ് ചെയ്യുക, ലൈവ് ഹൈലൈറ്റ് ചെയ്‌ത മത്സരങ്ങൾ കാണുക.

  1. നിങ്ങളുടെ പാറ്റേൺ നൽകുക: പാറ്റേൺ ഫീൽഡിൽ റീജക്സ് പാറ്റേൺ ടൈപ്പ് ചെയ്യുക. ലിറ്ററൽ റീജക്‌സും (/പാറ്റേൺ/ഫ്ലാഗുകളും) പാറ്റേൺ മാത്രമുള്ള ഫോമുകളും പ്രവർത്തിക്കുന്നു; ഫ്ലാഗ് ഇൻപുട്ട് വഴി ഫ്ലാഗുകൾ സജ്ജമാക്കാൻ കഴിയും.
  2. ടെസ്റ്റ് ഇൻപുട്ട് ചേർക്കുക: പാറ്റേൺ പൊരുത്തപ്പെടേണ്ട സാമ്പിൾ ടെക്‌സ്‌റ്റ് ഒട്ടിക്കുക (അത് പൊരുത്തപ്പെടാത്ത ടെക്‌സ്‌റ്റും). ടെസ്റ്റർ ഇൻപുട്ടിനെതിരെ പാറ്റേൺ പ്രവർത്തിപ്പിക്കുകയും പൊരുത്തങ്ങൾ ഹൈലൈറ്റ് ചെയ്യുകയും ചെയ്യുന്നു.
  3. പതാകകൾ സജ്ജമാക്കുക: സാധാരണ ഫ്ലാഗുകൾ: g (ഗ്ലോബൽ, എല്ലാ പൊരുത്തങ്ങളും കണ്ടെത്തുക), i (കേസ്-ഇൻസെൻസിറ്റീവ്), m (മൾട്ടിലൈൻ, ^, $ മാച്ച് ലൈൻ ആരംഭിക്കുന്നു/അവസാനിക്കുന്നു), s (ഡോട്ടാൽ, . ന്യൂലൈനുകളുമായി പൊരുത്തപ്പെടുന്നു), u (യൂണിക്കോഡ്).
  4. ഫലങ്ങൾ പരിശോധിക്കുക: ഓരോ പൊരുത്തവും ഇൻപുട്ടിൽ ഹൈലൈറ്റ് ചെയ്തിരിക്കുന്നു. ക്യാപ്‌ചർ ഗ്രൂപ്പുകൾ ഗ്രൂപ്പ് സൂചികയും മൂല്യവും ഉള്ള ഒരു ലിസ്റ്റിൽ ദൃശ്യമാകും. പൊരുത്തങ്ങളുടെ എണ്ണവും പാറ്റേണിലെ ഏതെങ്കിലും കംപൈലേഷൻ പിശകുകളും ടെസ്റ്റർ കാണിക്കുന്നു.

സാധാരണ ഉപയോഗ കേസുകൾ

സാങ്കേതിക വിശദാംശങ്ങൾ

JavaScript regex ECMAScript സ്പെസിഫിക്കേഷൻ പിന്തുടരുന്നു. പ്രധാന സവിശേഷതകൾ: ക്യാരക്ടർ ക്ലാസുകൾ ([abc], [^abc]), ക്വാണ്ടിഫയറുകൾ (*, +, ?, {n,m}), ആൾട്ടർനേഷൻ (|), ഗ്രൂപ്പിംഗ് ((...)), ക്യാപ്‌ചർ ചെയ്യലും നോൺ ക്യാപ്‌ചറിംഗ് ഗ്രൂപ്പുകളും, ലുക്ക്‌ഹെഡ്, ലുക്ക്‌ബിഹൈൻഡ് (ആധുനിക എഞ്ചിനുകൾ), ബാക്ക്‌റെഫറൻസുകൾ, പേരുള്ള ഗ്രൂപ്പുകൾ, യൂണിക്കോഡ് സെറ്റ് എസ്കേപ്പ് സെക്യുവുകൾ, എസ്‌കേപ്പുകളുടെ സ്റ്റാൻഡേർഡ്.

PCRE, Python എന്നിവയിൽ നിന്നുള്ള പ്രധാന വ്യത്യാസങ്ങൾ: ജാവാസ്ക്രിപ്റ്റിൽ (2018+) ലുക്ക്ബിഹൈൻഡ് പിന്തുണ അടുത്തിടെയുള്ളതാണ്; പേരുള്ള ഗ്രൂപ്പുകൾ ഉപയോഗിക്കുന്നത് (?<name>...) വാക്യഘടന; ചില യൂണികോഡ് എസ്കേപ്പുകൾക്ക് യു ഫ്ലാഗ് ശരിയായി പ്രവർത്തിക്കേണ്ടതുണ്ട്. ക്രോസ്-ലാംഗ്വേജ് ഉപയോഗത്തിനായി ഉദ്ദേശിച്ചിട്ടുള്ള പാറ്റേണുകൾ ഓരോ ടാർഗെറ്റിൻ്റെയും ഡോക്യുമെൻ്റേഷനിൽ പരിശോധിക്കേണ്ടതാണ്.

പ്രകടനം: ബാക്ക്‌ട്രാക്കിംഗ് അടിസ്ഥാനമാക്കിയുള്ള റീജക്സ് എഞ്ചിനുകൾക്ക് (മിക്കതും ജാവാസ്ക്രിപ്റ്റ് ഉൾപ്പെടെ) ചില പാത്തോളജിക്കൽ പാറ്റേണുകളിൽ വിനാശകരമായ ബാക്ക്‌ട്രാക്കിംഗ് ഉണ്ടാകും. ടെസ്റ്ററിനെ തൂക്കിയിടുന്ന ടെസ്റ്റുകൾ പാറ്റേണിന് ലളിതവൽക്കരണം ആവശ്യമാണെന്നതിൻ്റെ സൂചനയാണ് - സാധാരണയായി നെസ്റ്റഡ് ക്വാണ്ടിഫയറുകളും അവ്യക്തമായ ആൾട്ടർനേഷനും ഒഴിവാക്കുന്നതിലൂടെ.

മികച്ച സമ്പ്രദായങ്ങൾ

പതിവ് ചോദ്യങ്ങള്

ഏത് റീജക്സ് ഫ്ലേവറാണ് ഈ ടൂൾ പിന്തുണയ്ക്കുന്നത്?
ഇത് JavaScript-ൻ്റെ ബിൽറ്റ്-ഇൻ RegExp എഞ്ചിൻ ഉപയോഗിക്കുന്നു, ഇത് ലുക്ക്ഹെഡുകൾ, ലുക്ക്ബിഹൈൻഡ്സ് (ആധുനിക ബ്രൗസറുകളിൽ), ക്യാപ്‌ചർ ഗ്രൂപ്പുകൾ, യൂണികോഡ് പ്രോപ്പർട്ടി എസ്കേപ്പുകൾ എന്നിവയുൾപ്പെടെയുള്ള സ്റ്റാൻഡേർഡ് വാക്യഘടനയെ പിന്തുണയ്ക്കുന്നു.
എനിക്ക് റീജക്സ് റീപ്ലേസ്‌മെൻ്റുകൾ പരീക്ഷിക്കാൻ കഴിയുമോ?
അതെ. ഒരു റീപ്ലേസ്‌മെൻ്റ് പാറ്റേൺ നൽകാൻ റീപ്ലേസ് മോഡിലേക്ക് മാറുക. ക്യാപ്‌ചർ ഗ്രൂപ്പ് ബാക്ക് റഫറൻസുകൾക്കായി നിങ്ങൾക്ക് $1, $2, മുതലായവയും പേരിട്ടിരിക്കുന്ന ഗ്രൂപ്പുകൾക്ക് $<name> ഉപയോഗിക്കാം.
എന്തുകൊണ്ടാണ് പൈത്തൺ/പിഎച്ച്പിയിൽ നിന്ന് വ്യത്യസ്തമായി എൻ്റെ റീജക്സ് ഇവിടെ പൊരുത്തപ്പെടുന്നത്?
വ്യത്യസ്ത പ്രോഗ്രാമിംഗ് ഭാഷകൾക്ക് അല്പം വ്യത്യസ്തമായ റീജക്സ് എഞ്ചിനുകൾ ഉണ്ട്. കൈവശമുള്ള ക്വാണ്ടിഫയറുകളെയോ ചില PCRE-നിർദ്ദിഷ്ട സവിശേഷതകളെയോ JavaScript പിന്തുണയ്ക്കുന്നില്ല. പ്രധാന വാക്യഘടന (പ്രതീക ക്ലാസുകൾ, ക്വാണ്ടിഫയറുകൾ, ഗ്രൂപ്പുകൾ) ഭാഷകളിലുടനീളം സമാനമാണ്.
ഉപകരണം എൻ്റെ റീജക്സ് പാറ്റേണുകൾ സംരക്ഷിക്കുന്നുണ്ടോ?
ഇല്ല. ഒന്നും സംരക്ഷിക്കുകയോ കൈമാറുകയോ ചെയ്യുന്നില്ല. ഉപകരണം പൂർണ്ണമായും നിങ്ങളുടെ ബ്രൗസറിൽ പ്രവർത്തിക്കുന്നു. റീജക്സ് സ്ട്രിംഗ് പകർത്തി നിങ്ങൾക്ക് ബുക്ക്മാർക്ക് ചെയ്യാനോ പാറ്റേണുകൾ പങ്കിടാനോ കഴിയും.
അക്ഷരാർത്ഥത്തിൽ ഒരു പ്രത്യേക പ്രതീകവുമായി ഞാൻ എങ്ങനെ പൊരുത്തപ്പെടും?
ഒരു ബാക്ക്‌സ്ലാഷ് ഉപയോഗിച്ച് അതിൽ നിന്ന് രക്ഷപ്പെടുക. ഒരു അക്ഷര ഡോട്ട് പൊരുത്തപ്പെടുത്താൻ: \. അക്ഷരാർത്ഥത്തിൽ ഒരു ബാക്ക്സ്ലാഷ് പൊരുത്തപ്പെടുത്തുന്നതിന്: \\. പ്രതീക ക്ലാസുകൾക്കുള്ളിൽ [...], മിക്ക പ്രത്യേക പ്രതീകങ്ങൾക്കും അവയുടെ അർത്ഥം നഷ്ടപ്പെടും.
ടെസ്റ്റർ ഒരു സെർവറിൽ പ്രവർത്തിക്കുന്നുണ്ടോ?
ഇല്ല. നേറ്റീവ് RegExp ഒബ്‌ജക്റ്റ് ഉപയോഗിച്ച് നിങ്ങളുടെ ബ്രൗസറിൽ പാറ്റേൺ സമാഹരണവും പൊരുത്തപ്പെടുത്തലും നടക്കുന്നു.
ജാവാസ്ക്രിപ്റ്റ് ഇതര എഞ്ചിനുകൾക്കായി എനിക്ക് പാറ്റേണുകൾ പരീക്ഷിക്കാൻ കഴിയുമോ?
മിക്കവാറും. ലളിതമായ പാറ്റേണുകൾക്കായി പ്രധാന എഞ്ചിനുകൾ സമ്മതിക്കുന്നു. വിപുലമായ ഫീച്ചറുകൾക്കായി (ലുക്ക്ബിഹൈൻഡ്, ആറ്റോമിക് ഗ്രൂപ്പുകൾ, കൈവശമുള്ള ക്വാണ്ടിഫയറുകൾ, യൂണികോഡ് പ്രോപ്പർട്ടി എസ്കേപ്പുകൾ), ടാർഗെറ്റ് എഞ്ചിൻ്റെ ഡോക്യുമെൻ്റേഷനെതിരെ സ്ഥിരീകരിക്കുക.
ഇത് വളരെ വലിയ ഇൻപുട്ട് കൈകാര്യം ചെയ്യുന്നുണ്ടോ?
കുറച്ച് മെഗാബൈറ്റുകൾ വരെ സുഗമമായി പ്രവർത്തിക്കുന്നു. വലിയ ഇൻപുട്ടുകൾ ബ്രൗസറിൻ്റെ വേഗത കുറയ്ക്കുകയോ ഹാംഗ് ചെയ്യുകയോ ചെയ്യാം, പ്രത്യേകിച്ച് ബാക്ക്ട്രാക്കിംഗിന് സാധ്യതയുള്ള പാറ്റേണുകൾ.