റീജക്സ് ടെസ്റ്റർ
നിങ്ങളുടെ ബ്രൗസറിൽ റെഗുലർ എക്സ്പ്രഷനുകൾ തൽക്ഷണം പരിശോധിച്ച് ഡീബഗ് ചെയ്യുക. മത്സരങ്ങൾ ഹൈലൈറ്റ് ചെയ്യുക, ക്യാപ്ചർ ഗ്രൂപ്പുകൾ കാണുക, പകരം മോഡ് ഉപയോഗിക്കുക - സൗജന്യവും സ്വകാര്യവും.
നിങ്ങളുടെ ബ്രൗസറിൽ റെഗുലർ എക്സ്പ്രഷനുകൾ തൽക്ഷണം പരിശോധിച്ച് ഡീബഗ് ചെയ്യുക. മത്സരങ്ങൾ ഹൈലൈറ്റ് ചെയ്യുക, ക്യാപ്ചർ ഗ്രൂപ്പുകൾ കാണുക, പകരം മോഡ് ഉപയോഗിക്കുക - സൗജന്യവും സ്വകാര്യവും.
ടെക്സ്റ്റിലെ പാറ്റേണുകൾ പൊരുത്തപ്പെടുത്തുന്നതിനുള്ള ഒരു ഡൊമെയ്ൻ-നിർദ്ദിഷ്ട ഭാഷയാണ് റെഗുലർ എക്സ്പ്രഷനുകൾ. അവ 1968 മുതൽ കമ്പ്യൂട്ടിംഗിൻ്റെ ഭാഗമാണ്, ഇപ്പോൾ എല്ലാ ആധുനിക പ്രോഗ്രാമിംഗ് ഭാഷയിലും ടെക്സ്റ്റ് എഡിറ്ററിലും കമാൻഡ്-ലൈൻ തിരയൽ ടൂളിലും നിർമ്മിച്ചിരിക്കുന്നു. വാക്യഘടന സംക്ഷിപ്തമാണ്, പക്ഷേ പിശകുകൾക്ക് സാധ്യതയുണ്ട്: ചെറിയ മാറ്റങ്ങൾ സൂക്ഷ്മമായി വ്യത്യസ്തമായ പൊരുത്ത സ്വഭാവം ഉണ്ടാക്കുന്നു, സങ്കീർണ്ണമായ പദപ്രയോഗങ്ങൾ പെട്ടെന്ന് വായിക്കാൻ കഴിയില്ല. നിങ്ങൾ പാറ്റേൺ എഡിറ്റ് ചെയ്യുമ്പോൾ തത്സമയം പൊരുത്തങ്ങൾ കാണിക്കുന്ന ഒരു ടെസ്റ്ററാണ് regex വികസിപ്പിക്കുന്നതിനും പരിശോധിക്കുന്നതിനുമുള്ള ഏറ്റവും ഫലപ്രദമായ മാർഗം.
JavaScript regex എഞ്ചിൻ ഉപയോഗിച്ച് ഈ ടെസ്റ്റർ നിങ്ങളുടെ ബ്രൗസറിൽ പ്രവർത്തിക്കുന്നു (ഒരു ബ്രൗസറിൽ പ്രവർത്തിക്കുകയാണെങ്കിൽ നിങ്ങളുടെ ആപ്ലിക്കേഷൻ ഉപയോഗിക്കുന്ന അതേ ഒന്ന്). പാറ്റേണുകളും ടെസ്റ്റ് ടെക്സ്റ്റ് റിയാക്ടീവ് ആയി അപ്ഡേറ്റ് ചെയ്യുന്നു: ഒന്നുകിൽ ഓരോ മാറ്റവും മത്സരം വീണ്ടും പ്രവർത്തിപ്പിക്കുന്നു. മാച്ച് ഗ്രൂപ്പുകൾ ഹൈലൈറ്റ് ചെയ്യുന്നു, ക്യാപ്ചർ ചെയ്ത ഗ്രൂപ്പുകൾ ലിസ്റ്റ് ചെയ്തു, ഫ്ലാഗുകൾ (കേസ്-ഇൻസെൻസിറ്റീവ്, മൾട്ടിലൈൻ, ഗ്ലോബൽ) പരിശോധനയ്ക്കായി തുറന്നുകാട്ടുന്നു.
എഞ്ചിനുകൾക്കിടയിൽ Regex വാക്യഘടന സൂക്ഷ്മമായി വ്യത്യാസപ്പെടുന്നു. JavaScript ECMAScript സ്പെസിഫിക്കേഷൻ പിന്തുടരുന്നു; പൈത്തൺ, പിസിആർഇ (പിഎച്ച്പിയും മറ്റ് പലതും ഉപയോഗിക്കുന്നു), ജാവ, ഗോ എന്നിവയ്ക്ക് ഓരോന്നിനും അതിൻ്റേതായ ഭാഷാഭേദങ്ങളുണ്ട്, എന്നാൽ സമാന സവിശേഷതകളില്ല. ഇവിടെ വികസിപ്പിച്ച പാറ്റേണുകൾ ECMAScript വാക്യഘടന ഉപയോഗിക്കുന്നു; ക്രോസ് എഞ്ചിൻ പോർട്ടബിലിറ്റിക്ക് ഓരോ ടാർഗെറ്റിൻ്റെയും ഡോക്യുമെൻ്റേഷൻ പരിശോധിക്കേണ്ടതുണ്ട്.
വിന്യാസത്തിന് ശേഷം ഡീബഗ് ചെയ്യാൻ Regex ബഗുകൾ കുപ്രസിദ്ധമാണ്. യുക്തിസഹമായി തോന്നുന്ന ഒരു പാറ്റേൺ ഉദ്ദേശിച്ചതിലും കൂടുതലോ കുറവോ പൊരുത്തപ്പെടാം, എഡ്ജ് കേസുകളിൽ പരാജയപ്പെടാം, അല്ലെങ്കിൽ ചില ഇൻപുട്ടുകളിൽ വിനാശകരമായ ബാക്ക്ട്രാക്കിംഗ് ഉണ്ടായിരിക്കാം. കോഡ് അവലോകനത്തിനും ഉൽപ്പാദനത്തിനും മുമ്പായി പ്രാതിനിധ്യ ഇൻപുട്ടിനെതിരെ പാറ്റേണുകൾ സംവേദനാത്മകമായി പരിശോധിക്കുന്നത് പ്രശ്നങ്ങൾ പരിഹരിക്കുന്നു.
ഡോക്യുമെൻ്റേഷനിൽ നിന്ന് പാറ്റേണുകളും പ്രയോജനപ്പെടുന്നു. ഇൻപുട്ടിനൊപ്പം ഒരു റീജക്സ് കാണിക്കുന്നത് അത് പൊരുത്തപ്പെടേണ്ടതും പൊരുത്തപ്പെടാത്ത ഇൻപുട്ടും ഉദ്ദേശം വ്യക്തമാക്കുന്നു. ഭാവിയിലെ മെയിൻ്റനർമാർ (ആറു മാസത്തിനുള്ളിൽ നിങ്ങളുൾപ്പെടെ) ഡോക്യുമെൻ്റഡ് ടെസ്റ്റ് കേസുകളെ അവർ സമർത്ഥരായ വൺ-ലൈനറുകളെ വിലമതിക്കുന്നതിനേക്കാൾ കൂടുതൽ വിലമതിക്കുന്നു.
ഒരു പാറ്റേൺ ടൈപ്പ് ചെയ്യുക, ടെസ്റ്റ് ഇൻപുട്ട് ടൈപ്പ് ചെയ്യുക, ലൈവ് ഹൈലൈറ്റ് ചെയ്ത മത്സരങ്ങൾ കാണുക.
JavaScript regex ECMAScript സ്പെസിഫിക്കേഷൻ പിന്തുടരുന്നു. പ്രധാന സവിശേഷതകൾ: ക്യാരക്ടർ ക്ലാസുകൾ ([abc], [^abc]), ക്വാണ്ടിഫയറുകൾ (*, +, ?, {n,m}), ആൾട്ടർനേഷൻ (|), ഗ്രൂപ്പിംഗ് ((...)), ക്യാപ്ചർ ചെയ്യലും നോൺ ക്യാപ്ചറിംഗ് ഗ്രൂപ്പുകളും, ലുക്ക്ഹെഡ്, ലുക്ക്ബിഹൈൻഡ് (ആധുനിക എഞ്ചിനുകൾ), ബാക്ക്റെഫറൻസുകൾ, പേരുള്ള ഗ്രൂപ്പുകൾ, യൂണിക്കോഡ് സെറ്റ് എസ്കേപ്പ് സെക്യുവുകൾ, എസ്കേപ്പുകളുടെ സ്റ്റാൻഡേർഡ്.
PCRE, Python എന്നിവയിൽ നിന്നുള്ള പ്രധാന വ്യത്യാസങ്ങൾ: ജാവാസ്ക്രിപ്റ്റിൽ (2018+) ലുക്ക്ബിഹൈൻഡ് പിന്തുണ അടുത്തിടെയുള്ളതാണ്; പേരുള്ള ഗ്രൂപ്പുകൾ ഉപയോഗിക്കുന്നത് (?<name>...) വാക്യഘടന; ചില യൂണികോഡ് എസ്കേപ്പുകൾക്ക് യു ഫ്ലാഗ് ശരിയായി പ്രവർത്തിക്കേണ്ടതുണ്ട്. ക്രോസ്-ലാംഗ്വേജ് ഉപയോഗത്തിനായി ഉദ്ദേശിച്ചിട്ടുള്ള പാറ്റേണുകൾ ഓരോ ടാർഗെറ്റിൻ്റെയും ഡോക്യുമെൻ്റേഷനിൽ പരിശോധിക്കേണ്ടതാണ്.
പ്രകടനം: ബാക്ക്ട്രാക്കിംഗ് അടിസ്ഥാനമാക്കിയുള്ള റീജക്സ് എഞ്ചിനുകൾക്ക് (മിക്കതും ജാവാസ്ക്രിപ്റ്റ് ഉൾപ്പെടെ) ചില പാത്തോളജിക്കൽ പാറ്റേണുകളിൽ വിനാശകരമായ ബാക്ക്ട്രാക്കിംഗ് ഉണ്ടാകും. ടെസ്റ്ററിനെ തൂക്കിയിടുന്ന ടെസ്റ്റുകൾ പാറ്റേണിന് ലളിതവൽക്കരണം ആവശ്യമാണെന്നതിൻ്റെ സൂചനയാണ് - സാധാരണയായി നെസ്റ്റഡ് ക്വാണ്ടിഫയറുകളും അവ്യക്തമായ ആൾട്ടർനേഷനും ഒഴിവാക്കുന്നതിലൂടെ.