રેજેક્સ ટેસ્ટર
તમારા બ્રાઉઝરમાં તરત જ નિયમિત અભિવ્યક્તિઓનું પરીક્ષણ અને ડીબગ કરો. મેચોને હાઇલાઇટ કરો, કેપ્ચર જૂથો જુઓ અને બદલો મોડનો ઉપયોગ કરો — મફત અને ખાનગી.
તમારા બ્રાઉઝરમાં તરત જ નિયમિત અભિવ્યક્તિઓનું પરીક્ષણ અને ડીબગ કરો. મેચોને હાઇલાઇટ કરો, કેપ્ચર જૂથો જુઓ અને બદલો મોડનો ઉપયોગ કરો — મફત અને ખાનગી.
રેગ્યુલર એક્સપ્રેશન એ ટેક્સ્ટમાં પેટર્ન સાથે મેળ ખાતી ડોમેન-વિશિષ્ટ ભાષા છે. તેઓ 1968 થી કમ્પ્યુટિંગનો ભાગ છે અને હવે દરેક આધુનિક પ્રોગ્રામિંગ ભાષા, ટેક્સ્ટ એડિટર અને કમાન્ડ-લાઇન સર્ચ ટૂલમાં બનેલ છે. વાક્યરચના સંક્ષિપ્ત છે પરંતુ ભૂલથી ભરપૂર છે: નાના ફેરફારો સૂક્ષ્મ રીતે અલગ મેચ વર્તન પેદા કરે છે, અને જટિલ અભિવ્યક્તિઓ ઝડપથી વાંચી ન શકાય તેવી બની જાય છે. એક ટેસ્ટર જે રીઅલ ટાઇમમાં મેચો બતાવે છે કારણ કે તમે પેટર્નમાં ફેરફાર કરો છો તે રેજેક્સ વિકસાવવા અને ચકાસવાની સૌથી અસરકારક રીત છે.
આ ટેસ્ટર તમારા બ્રાઉઝરમાં JavaScript રેજેક્સ એન્જીનનો ઉપયોગ કરીને ચાલે છે (જો તમારી એપ્લિકેશન બ્રાઉઝરમાં ચાલે તો તેનો ઉપયોગ કરે છે). પેટર્ન અને ટેસ્ટ ટેક્સ્ટ અપડેટ પ્રતિક્રિયાત્મક રીતે: દરેક ફેરફાર ક્યાં તો મેચને ફરીથી ચલાવે છે. મેચ જૂથો હાઇલાઇટ કરવામાં આવે છે, કેપ્ચર કરેલા જૂથોને સૂચિબદ્ધ કરવામાં આવે છે અને ફ્લેગ્સ (કેસ-સંવેદનશીલ, મલ્ટિલાઇન, વૈશ્વિક) પરીક્ષણ માટે ખુલ્લા કરવામાં આવે છે.
રેજેક્સ સિન્ટેક્સ એંજીન વચ્ચે સૂક્ષ્મ રીતે બદલાય છે. JavaScript ECMAScript સ્પેકને અનુસરે છે; પાયથોન, PCRE (PHP અને અન્ય ઘણા લોકો દ્વારા ઉપયોગમાં લેવાય છે), Java, અને Go દરેક પાસે ઓવરલેપિંગ સાથેની પોતાની બોલીઓ છે પરંતુ સમાન લક્ષણો નથી. અહીં વિકસિત દાખલાઓ ECMAScript સિન્ટેક્સનો ઉપયોગ કરે છે; ક્રોસ-એન્જિન પોર્ટેબિલિટી માટે દરેક લક્ષ્યના દસ્તાવેજો તપાસવાની જરૂર છે.
Regex બગ્સ ડિપ્લોયમેન્ટ પછી ડિબગ કરવા માટે કુખ્યાત રીતે મુશ્કેલ છે. એક પેટર્ન જે વાજબી લાગે છે તે હેતુ કરતાં વધુ અથવા ઓછા મેળ ખાય છે, ધારના કેસોમાં નિષ્ફળ થઈ શકે છે અથવા અમુક ઇનપુટ્સ પર આપત્તિજનક બેકટ્રેકિંગ હોઈ શકે છે. પ્રતિનિધિ ઇનપુટ સામે અરસપરસ પરીક્ષણ પેટર્ન કોડ સમીક્ષા અને ઉત્પાદન પહેલાં સમસ્યાઓ કેચ કરે છે.
દાખલાઓને દસ્તાવેજીકરણથી પણ ફાયદો થાય છે. ઇનપુટ જે મેચ થવો જોઈએ અને જે ઇનપુટ મેચ ન હોવો જોઈએ તેની સાથે રેજેક્સ દર્શાવવાથી ઉદ્દેશ સ્પષ્ટ થાય છે. ભાવિ જાળવણીકારો (છ મહિનામાં તમારો સમાવેશ થાય છે) તેઓ હોંશિયાર વન-લાઇનર્સની પ્રશંસા કરતાં દસ્તાવેજીકૃત પરીક્ષણ કેસોની વધુ પ્રશંસા કરે છે.
પેટર્ન ટાઇપ કરો, ટેસ્ટ ઇનપુટ ટાઇપ કરો, લાઇવ હાઇલાઇટ કરેલી મેચો જુઓ.
JavaScript regex ECMAScript સ્પષ્ટીકરણને અનુસરે છે. મુખ્ય લક્ષણો: અક્ષર વર્ગો ([abc], [^abc]), ક્વોન્ટિફાયર (*, +, ?, {n,m}), વૈકલ્પિક (|), જૂથીકરણ (...)), કેપ્ચરિંગ અને નોન-કેપ્ચરિંગ જૂથો, લુકહેડ અને લુક બેહાઈન્ડ (આધુનિક એન્જિન), બેકરેફરન્સ, નામવાળા જૂથો, યુનિકોડ પ્રોપર્ટી એસ્કેપ્સ (યુનિકોડ સ્ટાન્ડર્ડ ફ્લેગ્સ અને સ્ટાન્ડર્ડ સેટ સાથે),
PCRE અને Python થી મહત્વના તફાવતો: Lookbehind સપોર્ટ JavaScript (2018+) માં તાજેતરનો છે; નામના જૂથો (?<name>...) વાક્યરચનાનો ઉપયોગ કરે છે; કેટલાક યુનિકોડ એસ્કેપને યોગ્ય રીતે કામ કરવા માટે u ફ્લેગની જરૂર છે. ક્રોસ-લેંગ્વેજ ઉપયોગ માટે બનાવાયેલ પેટર્ન દરેક લક્ષ્યના દસ્તાવેજીકરણ સામે તપાસવા જોઈએ.
પ્રદર્શન: બેકટ્રેકિંગ-આધારિત રેજેક્સ એન્જિન (મોટાભાગે JavaScript સહિત) ચોક્કસ પેથોલોજીકલ પેટર્ન પર આપત્તિજનક બેકટ્રેકિંગ હોઈ શકે છે. ટેસ્ટરને લટકાવેલા ટેસ્ટ એ સંકેત છે કે પેટર્નને સરળીકરણની જરૂર છે - સામાન્ય રીતે નેસ્ટેડ ક્વોન્ટિફાયર અને અસ્પષ્ટ ફેરબદલને ટાળીને.