TRE (computing)
ટી. આર. ઈ. એ ટેક્સ્ટમાં પેટર્ન મેચિંગ માટે એક ઓપન સોર્સ લાઇબ્રેરી છે, જે અંદાજે સ્ટ્રિંગ મેચિંગ કરવાની ક્ષમતા સાથે નિયમિત એક્સપ્રેશન એન્જિનની જેમ કામ કરે છે. તે વિલે લૌરિકારી દ્વારા વિકસાવવામાં આવ્યું હતું અને 2-કલમ બીએસડી જેવા લાઇસન્સ હેઠળ વહેંચવામાં આવ્યું છે. લાઇબ્રેરી સી માં લખાયેલી છે અને એવા કાર્યો પૂરા પાડે છે જે ઇનપુટ લખાણ રેખાઓ પર શોધ કરવા માટે નિયમિત અભિવ્યક્તિઓનો ઉપયોગ કરવાની મંજૂરી આપે છે. અન્ય નિયમિત અભિવ્યક્તિ એન્જિનથી મુખ્ય તફાવત એ છે કે TRE અંદાજિત રીતે લખાણના ટુકડાઓ સાથે મેળ ખાઈ શકે છે, એટલે કે, ધારો કે તે લખાણમાં અમુક સંખ્યામાં ટાઇપો હોઈ શકે છે. લાક્ષણિકતાઓ TRE અંદાજિત રીતે અગાઉના ટુકડાને મેચ કરવા માટે "દિશાઓ" ના ઉમેરા સાથે વિસ્તૃત નિયમિત અભિવ્યક્તિ વાક્યરચનાનો ઉપયોગ કરે છે. આવી દરેક દિશાઓ સ્પષ્ટ કરે છે કે આ ટુકડા માટે કેટલા ટાઇપોની મંજૂરી છે. અંદાજિત મેળાવડો લેવેનસ્ટીન અંતર જેવી જ રીતે કરવામાં આવે છે, જેનો અર્થ છે કે ત્રણ પ્રકારના 'માન્યતાપ્રાપ્ત' ટાઇપો છેઃ ટી. આર. ઈ. સ્વતંત્ર રીતે ત્રણ ટાઇપો પ્રકારોમાંથી દરેક માટે કિંમત સ્પષ્ટ કરવાની મંજૂરી આપે છે. આ પ્રોજેક્ટ કમાન્ડ-લાઇન ઉપયોગિતા સાથે આવે છે, જે એગેપનું પુનઃ અમલીકરણ છે. જો કે અંદાજિત મેળ માટે કેટલાક વાક્યરચના વિસ્તરણની જરૂર પડે છે, જ્યારે આ સુવિધાનો ઉપયોગ થતો નથી, ત્યારે TRE મોટાભાગના અન્ય નિયમિત અભિવ્યક્તિ મેળ ખાતા એન્જિનની જેમ કામ કરે છે. આનો અર્થ એ છે કે તે કડક મેળ માટે લખાયેલા સામાન્ય નિયમિત અભિવ્યક્તિઓનો અમલ કરે છે; પોસિક્સ-શૈલીના નિયમિત અભિવ્યક્તિઓથી પરિચિત પ્રોગ્રામરોએ TRE નો ઉપયોગ કરવા માટે વધુ અભ્યાસ કરવાની જરૂર નથી. અનુમાનિત સમય અને મેમરીનો વપરાશ લાઇબ્રેરીના લેખક જણાવે છે કે મેળ કરવા માટે ખર્ચવામાં આવેલો સમય ઇનપુટ ટેક્સ્ટની લંબાઈ વધવાની સાથે રેખીય રીતે વધે છે, જ્યારે મેમરીની જરૂરિયાત મેળ ખાતી વખતે સતત રહે છે અને તે ઇનપુટ પર આધારિત નથી, માત્ર પેટર્ન પર આધાર રાખે છે. અન્ય લાક્ષણિકતાઓ, જે મોટાભાગના નિયમિત અભિવ્યક્તિ એન્જિન માટે સામાન્ય છે, તેને રેગેક્સ એન્જિનની સરખામણી કોષ્ટકોમાં અથવા તેના વેબ-પૃષ્ઠ પર TRE સુવિધાઓની સૂચિમાં ચકાસી શકાય છે. ઉપયોગનું ઉદાહરણ આશરે મેળ ખાતી દિશાઓ કર્લી કૌંસમાં નિર્દિષ્ટ કરવામાં આવે છે અને પુનરાવર્તિત પરિમાણોથી અલગ હોવી જોઈએ (સંભવતઃ કૌંસ ખોલ્યા પછી જગ્યા દાખલ કરવા સાથે): (નિયમિત) {~ 1} \s + (અભિવ્યક્તિ) {~ 2} શબ્દસમૂહ "નિયમિત અભિવ્યક્તિ" ના પ્રકારો સાથે મેળ ખાશે જેમાં "નિયમિત" એક કરતાં વધુ ટાઇપો નથી અને "અભિવ્યક્તિ" બે કરતાં વધુ નથી; સામાન્ય નિયમિત અભિવ્યક્તિઓની જેમ "એટલે કે એક અથવા વધુ જગ્યા અક્ષરો એટલે કે. રેગ્યુલર એક્સપ્રેશન ટેસ્ટ પાસ કરશે; (એક્સપ્રેશન) {5i + 3d + 2s <11} શબ્દ "એક્સપ્રેશન" સાથે મેળ ખાશે જો ટાઇપોની કુલ કિંમત 11 કરતા ઓછી હોય, જ્યારે દાખલ કરવાની કિંમત 5, કાઢી નાખવાની કિંમત 3 અને અક્ષરની અવેજી 2 એટલે કે. 10 નો ખર્ચ આપે છે. ભાષા બંધન સી ઉપરાંત, ટી. આર. ઈ. પર્લ, પાયથોન અને હાસ્કેલ માટે બંધન દ્વારા ઉપયોગી છે. તે આરમાં મૂળભૂત નિયમિત અભિવ્યક્તિ એન્જિન છે. જો પ્રોજેક્ટ ક્રોસ-પ્લેટફોર્મ હોવો જોઈએ, તો દરેક લક્ષ્ય પ્લેટફોર્મ માટે જરૂરી અલગ ઇન્ટરફેસ હશે. ગેરફાયદા અન્ય નિયમિત અભિવ્યક્તિ એન્જિન સામાન્ય રીતે અંદાજિત મેળ કરવાની ક્ષમતા પ્રદાન કરતા નથી, તેથી લગભગ કોઈ સહવર્તી અમલીકરણ નથી જેની સાથે TRE ની સરખામણી કરી શકાય. જો કે એવી કેટલીક બાબતો છે જે પ્રોગ્રામરો ભવિષ્યના પ્રકાશનોમાં અમલમાં મૂકવા માંગે છેઃ મેળ ખાતા લખાણના ટુકડાઓને બદલવા માટે એક બદલી પદ્ધતિ (જેમ કે સેડ સ્ટ્રિંગ પ્રોસેસર અને નિયમિત અભિવ્યક્તિઓના ઘણા આધુનિક અમલીકરણ, જેમાં પર્લ અથવા જાવામાં બિલ્ટનો સમાવેશ થાય છે); વધુ સારા ટાઇપો મૂલ્ય મૂલ્યાંકન માટે અન્ય અંદાજિત મેળ ખાતા અલ્ગોરિધમનો ઉપયોગ કરવાની તક (ઉદાહરણ તરીકે સાઉન્ડેક્સ), અથવા ઓછામાં ઓછું આ અલ્ગોરિધમને "સ્વેપ" પ્રકારનાં ટાઇપોને મંજૂરી આપવા માટે સુધારવામાં આવશે (ડેમેરો-લેવેન્સ્ટીન અંતર જુઓ). આ પણ જુઓ લેવેન્શટેન ઓટોમેટન નિયમિત અભિવ્યક્તિ એન્જિનની સરખામણી એગ્રીપ સંદર્ભો બાહ્ય કડીઓ TRE-મફત અને પોર્ટેબલ અંદાજિત નિયમિત અભિવ્યક્તિ મેળ ખાતી લાઇબ્રેરી વધુ વાંચન કમ્પ્યુટર પુસ્તકાલયો BSD લાઇસન્સનો ઉપયોગ કરીને નિયમિત અભિવ્યક્તિ સોફ્ટવેર