મફત કન્વર્ટર

રેજેક્સ ટેસ્ટર

તમારા બ્રાઉઝરમાં તરત જ નિયમિત અભિવ્યક્તિઓનું પરીક્ષણ અને ડીબગ કરો. મેચોને હાઇલાઇટ કરો, કેપ્ચર જૂથો જુઓ અને બદલો મોડનો ઉપયોગ કરો — મફત અને ખાનગી.

//g
ધ્વજ:

આ ટૂલ વિશે

રેગ્યુલર એક્સપ્રેશન એ ટેક્સ્ટમાં પેટર્ન સાથે મેળ ખાતી ડોમેન-વિશિષ્ટ ભાષા છે. તેઓ 1968 થી કમ્પ્યુટિંગનો ભાગ છે અને હવે દરેક આધુનિક પ્રોગ્રામિંગ ભાષા, ટેક્સ્ટ એડિટર અને કમાન્ડ-લાઇન સર્ચ ટૂલમાં બનેલ છે. વાક્યરચના સંક્ષિપ્ત છે પરંતુ ભૂલથી ભરપૂર છે: નાના ફેરફારો સૂક્ષ્મ રીતે અલગ મેચ વર્તન પેદા કરે છે, અને જટિલ અભિવ્યક્તિઓ ઝડપથી વાંચી ન શકાય તેવી બની જાય છે. એક ટેસ્ટર જે રીઅલ ટાઇમમાં મેચો બતાવે છે કારણ કે તમે પેટર્નમાં ફેરફાર કરો છો તે રેજેક્સ વિકસાવવા અને ચકાસવાની સૌથી અસરકારક રીત છે.

આ ટેસ્ટર તમારા બ્રાઉઝરમાં JavaScript રેજેક્સ એન્જીનનો ઉપયોગ કરીને ચાલે છે (જો તમારી એપ્લિકેશન બ્રાઉઝરમાં ચાલે તો તેનો ઉપયોગ કરે છે). પેટર્ન અને ટેસ્ટ ટેક્સ્ટ અપડેટ પ્રતિક્રિયાત્મક રીતે: દરેક ફેરફાર ક્યાં તો મેચને ફરીથી ચલાવે છે. મેચ જૂથો હાઇલાઇટ કરવામાં આવે છે, કેપ્ચર કરેલા જૂથોને સૂચિબદ્ધ કરવામાં આવે છે અને ફ્લેગ્સ (કેસ-સંવેદનશીલ, મલ્ટિલાઇન, વૈશ્વિક) પરીક્ષણ માટે ખુલ્લા કરવામાં આવે છે.

રેજેક્સ સિન્ટેક્સ એંજીન વચ્ચે સૂક્ષ્મ રીતે બદલાય છે. JavaScript ECMAScript સ્પેકને અનુસરે છે; પાયથોન, PCRE (PHP અને અન્ય ઘણા લોકો દ્વારા ઉપયોગમાં લેવાય છે), Java, અને Go દરેક પાસે ઓવરલેપિંગ સાથેની પોતાની બોલીઓ છે પરંતુ સમાન લક્ષણો નથી. અહીં વિકસિત દાખલાઓ ECMAScript સિન્ટેક્સનો ઉપયોગ કરે છે; ક્રોસ-એન્જિન પોર્ટેબિલિટી માટે દરેક લક્ષ્યના દસ્તાવેજો તપાસવાની જરૂર છે.

શા માટે રેજેક્સ ટેસ્ટરનો ઉપયોગ કરો

Regex બગ્સ ડિપ્લોયમેન્ટ પછી ડિબગ કરવા માટે કુખ્યાત રીતે મુશ્કેલ છે. એક પેટર્ન જે વાજબી લાગે છે તે હેતુ કરતાં વધુ અથવા ઓછા મેળ ખાય છે, ધારના કેસોમાં નિષ્ફળ થઈ શકે છે અથવા અમુક ઇનપુટ્સ પર આપત્તિજનક બેકટ્રેકિંગ હોઈ શકે છે. પ્રતિનિધિ ઇનપુટ સામે અરસપરસ પરીક્ષણ પેટર્ન કોડ સમીક્ષા અને ઉત્પાદન પહેલાં સમસ્યાઓ કેચ કરે છે.

દાખલાઓને દસ્તાવેજીકરણથી પણ ફાયદો થાય છે. ઇનપુટ જે મેચ થવો જોઈએ અને જે ઇનપુટ મેચ ન હોવો જોઈએ તેની સાથે રેજેક્સ દર્શાવવાથી ઉદ્દેશ સ્પષ્ટ થાય છે. ભાવિ જાળવણીકારો (છ મહિનામાં તમારો સમાવેશ થાય છે) તેઓ હોંશિયાર વન-લાઇનર્સની પ્રશંસા કરતાં દસ્તાવેજીકૃત પરીક્ષણ કેસોની વધુ પ્રશંસા કરે છે.

કેવી રીતે વાપરવું

પેટર્ન ટાઇપ કરો, ટેસ્ટ ઇનપુટ ટાઇપ કરો, લાઇવ હાઇલાઇટ કરેલી મેચો જુઓ.

  1. તમારી પેટર્ન દાખલ કરો: પેટર્ન ફીલ્ડમાં રેજેક્સ પેટર્ન ટાઇપ કરો. શાબ્દિક રેજેક્સ (/pattern/flags) અને પેટર્ન-માત્ર સ્વરૂપો બંને કામ કરે છે; ફ્લેગ્સ ફ્લેગ્સ ઇનપુટ દ્વારા સેટ કરી શકાય છે.
  2. ટેસ્ટ ઇનપુટ ઉમેરો: નમૂનાનો ટેક્સ્ટ પેસ્ટ કરો જે પેટર્ન મેળ ખાતો હોવો જોઈએ (અને આદર્શ રીતે ટેક્સ્ટ પણ મેળ ખાતો ન હોવો જોઈએ). ટેસ્ટર ઇનપુટ સામે પેટર્ન ચલાવે છે અને મેચોને હાઇલાઇટ કરે છે.
  3. ધ્વજ સેટ કરો: સામાન્ય ફ્લેગ્સ: g (વૈશ્વિક, તમામ મેચો શોધો), i (કેસ-સંવેદનશીલ), m (મલ્ટિલાઇન, ^ અને $ મેચ લાઇન શરૂ/અંત), s (ડોટલ, . નવી લાઇન સાથે મેળ ખાય છે), u (યુનિકોડ).
  4. પરિણામો તપાસો: દરેક મેચ ઇનપુટમાં પ્રકાશિત થાય છે. કેપ્ચર જૂથો જૂથ અનુક્રમણિકા અને મૂલ્ય સાથે સૂચિમાં દેખાય છે. ટેસ્ટર મેચોની ગણતરી અને પેટર્નમાં કોઈપણ સંકલન ભૂલો પણ બતાવે છે.

સામાન્ય ઉપયોગના કેસો

ટેકનિકલ વિગતો

JavaScript regex ECMAScript સ્પષ્ટીકરણને અનુસરે છે. મુખ્ય લક્ષણો: અક્ષર વર્ગો ([abc], [^abc]), ક્વોન્ટિફાયર (*, +, ?, {n,m}), વૈકલ્પિક (|), જૂથીકરણ (...)), કેપ્ચરિંગ અને નોન-કેપ્ચરિંગ જૂથો, લુકહેડ અને લુક બેહાઈન્ડ (આધુનિક એન્જિન), બેકરેફરન્સ, નામવાળા જૂથો, યુનિકોડ પ્રોપર્ટી એસ્કેપ્સ (યુનિકોડ સ્ટાન્ડર્ડ ફ્લેગ્સ અને સ્ટાન્ડર્ડ સેટ સાથે),

PCRE અને Python થી મહત્વના તફાવતો: Lookbehind સપોર્ટ JavaScript (2018+) માં તાજેતરનો છે; નામના જૂથો (?<name>...) વાક્યરચનાનો ઉપયોગ કરે છે; કેટલાક યુનિકોડ એસ્કેપને યોગ્ય રીતે કામ કરવા માટે u ફ્લેગની જરૂર છે. ક્રોસ-લેંગ્વેજ ઉપયોગ માટે બનાવાયેલ પેટર્ન દરેક લક્ષ્યના દસ્તાવેજીકરણ સામે તપાસવા જોઈએ.

પ્રદર્શન: બેકટ્રેકિંગ-આધારિત રેજેક્સ એન્જિન (મોટાભાગે JavaScript સહિત) ચોક્કસ પેથોલોજીકલ પેટર્ન પર આપત્તિજનક બેકટ્રેકિંગ હોઈ શકે છે. ટેસ્ટરને લટકાવેલા ટેસ્ટ એ સંકેત છે કે પેટર્નને સરળીકરણની જરૂર છે - સામાન્ય રીતે નેસ્ટેડ ક્વોન્ટિફાયર અને અસ્પષ્ટ ફેરબદલને ટાળીને.

શ્રેષ્ઠ વ્યવહાર

વારંવાર પૂછાતા પ્રશ્નો

આ સાધન કયા રેજેક્સ સ્વાદને સમર્થન આપે છે?
તે JavaScript ના બિલ્ટ-ઇન RegExp એન્જિનનો ઉપયોગ કરે છે, જે લુકહેડ્સ, લુકબેહાઈન્ડ્સ (આધુનિક બ્રાઉઝર્સમાં), નામના કેપ્ચર જૂથો અને યુનિકોડ પ્રોપર્ટી એસ્કેપ્સ સહિત પ્રમાણભૂત સિન્ટેક્સને સપોર્ટ કરે છે.
શું હું રેજેક્સ રિપ્લેસમેન્ટનું પરીક્ષણ કરી શકું?
હા. રિપ્લેસમેન્ટ પેટર્ન દાખલ કરવા બદલો મોડ પર સ્વિચ કરો. તમે જૂથ બેક-રેફરન્સને કેપ્ચર કરવા માટે $1, $2, વગેરેનો ઉપયોગ કરી શકો છો, અને નામવાળા જૂથો માટે $<name>.
Python/PHP કરતાં અહીં શા માટે મારું રેજેક્સ અલગ રીતે મેળ ખાય છે?
વિવિધ પ્રોગ્રામિંગ ભાષાઓમાં થોડા અલગ રેજેક્સ એન્જિન હોય છે. JavaScript સ્વત્વિક ક્વોન્ટિફાયર અથવા કેટલીક PCRE-વિશિષ્ટ સુવિધાઓને સમર્થન આપતું નથી. મુખ્ય વાક્યરચના (અક્ષર વર્ગો, ક્વોન્ટિફાયર, જૂથો) સમગ્ર ભાષાઓમાં સમાન છે.
શું સાધન મારા રેજેક્સ પેટર્નને સાચવે છે?
ના. કંઈપણ સાચવવામાં કે પ્રસારિત થતું નથી. સાધન સંપૂર્ણપણે તમારા બ્રાઉઝરમાં ચાલે છે. તમે રેજેક્સ સ્ટ્રિંગની નકલ કરીને પેટર્નને બુકમાર્ક કરી શકો છો અથવા શેર કરી શકો છો.
હું શાબ્દિક વિશિષ્ટ પાત્ર સાથે કેવી રીતે મેળ કરી શકું?
બેકસ્લેશ વડે તેને એસ્કેપ કરો. શાબ્દિક બિંદુ સાથે મેળ કરવા માટે: \. શાબ્દિક બેકસ્લેશ સાથે મેળ કરવા માટે: \\. પાત્ર વર્ગોની અંદર [...], મોટાભાગના વિશિષ્ટ પાત્રો તેમનો અર્થ ગુમાવે છે.
શું ટેસ્ટર સર્વર પર ચાલી રહ્યું છે?
નંબર. પેટર્ન સંકલન અને મેચિંગ તમારા બ્રાઉઝરમાં મૂળ RegExp ઑબ્જેક્ટનો ઉપયોગ કરીને થાય છે.
શું હું બિન-જાવાસ્ક્રિપ્ટ એન્જિન માટે પેટર્ન ચકાસી શકું?
મોટે ભાગે. સરળ પેટર્ન માટે મુખ્ય એન્જિન સંમત થાય છે. અદ્યતન સુવિધાઓ માટે (પાછળની પાછળ જુઓ, અણુ જૂથો, સ્વત્વિક ક્વોન્ટિફાયર, યુનિકોડ પ્રોપર્ટી એસ્કેપ્સ), લક્ષ્ય એન્જિનના દસ્તાવેજીકરણ સામે પુષ્ટિ કરો.
શું તે ખૂબ મોટા ઇનપુટને હેન્ડલ કરે છે?
થોડા મેગાબાઇટ્સ સુધી સરળતાથી કામ કરે છે. મોટા ઇનપુટ્સ બ્રાઉઝરને ધીમું કરી શકે છે અથવા અટકી શકે છે, ખાસ કરીને બેકટ્રેકિંગની સંભાવનાવાળા પેટર્ન સાથે.