નિયમિત સમીકરણો PHP માં પરિચય
દ્વારા બર્નાર્ડ પેહ
Linux અને UNIX માં, વાક્યરચના છે કે સામાન્ય રીતે લખાણ પેટર્ન સ્પષ્ટ માટે ઘણા કાર્યક્રમો દ્વારા વાપરવામાં આવતી નિયમિત સમીકરણો તરીકે અથવા ટૂંકા સ્વરૂપ ઓળખાય છે – regex. Regex ખૂબ જ શક્તિશાળી ટેકનિક પેટર્ન વર્ણન કરવા માટે હોય છે અને ઘણા કાર્યક્રમો તેમને વાપરવા વર્ણન કરવા માટે અક્ષરો ક્રમ મેળ ખાતી કરી. જેમ કે 'grep તરીકે શોધ કાર્યક્રમો’ રાખતા કોડ આ પ્રમાણે પર ભારે આધાર રાખે. મૂળભૂત રીતે રાખતા કોડ આ પ્રમાણે સ્વરૂપો Linux વિશ્વમાં કોર. આવા પર્લ ઘણા સ્ક્રિપ્ટીંગ ભાષા, રૂબી, PHP…વગેરે રાખતા કોડ આ પ્રમાણે કાર્યો માં બનાવો તેમજ ધરાવે છે. તેથી તમે જોઈ શકો છો, નિયમિત સમીકરણ શીખવા મહત્વપૂર્ણ છે, કારણ કે તેઓ ભવિષ્યમાં ઘણા સ્થળોએ alot ઉપયોગ કરવામાં આવે છે અને કદાચ વધુ જેથી.
Regex પ્રથમ ડરામણી હોઈ શકે છે પરંતુ તમે આધારભૂતોની મેળવી શકો છો, તે ખરેખર ખૂબ સમજવા માટે હાર્ડ નથી. આ લેખમાં, અમે જ્યારે PHP કાર્યક્રમો લખવા માટે કેવી રીતે રાખતા કોડ આ પ્રમાણે ચિત્ર આવે જોવા માટે જતા હોય છે.
અત્યાર સુધી ઝડપી સારાંશ કરવા માટે, નિયમિત સમીકરણ શાબ્દિક અક્ષરો ક્રમ છે, વાઇલ્ડકાર્ડ, સંશોધકો અને મેજબાન.
શાબ્દિક અક્ષરો
શાબ્દિક અક્ષરો અક્ષરો છે, એ અને વિશિષ્ટ અક્ષરો કે માત્ર પોતાને સાથે મેળ. ઉદાહરણો એબીસી છે, 123, ~ @ અને તેથી પર (કેટલાક અક્ષરો છતાં આરક્ષિત છે).
– એક સમાવેશ શ્રેણી [એમ એન] મેળ ખાતા કોઈપણ પાત્ર એક મીટર n એ શ્રેણી સમાવેશ થાય છે.
ઉદાહરણ '[a-z]’ કોઈપણ આલ્ફા અક્ષર કે z શ્રેણી માટે અંદર જાય મેચ કરશે.
– એક બાકાત શ્રેણી [^ એમ એન] કોઈપણ અક્ષર એક મીટર n એ શ્રેણી માં સમાવેલ નથી મેચો. ઉદાહરણ '[^ 0-9]’ કોઈપણ બિન આંકડાના US પાત્ર મેચ કરશે.
– એક સમય “.” કોઈપણ અક્ષર સાથે મેળ ખાય છે. તે પણ વાઇલ્ડકાર્ડ તરીકે ઓળખાય છે. ઉદાહરણ તરીકે 'a.c’ મેચ કરશે 'AEC', 'એસીસી', 'માં @’ અને તેથી પર.
– એસ્કેપ અક્ષર ” ખાસ અક્ષરો અર્થઘટન સક્રિય. ઉદાહરણ તરીકે 'a.c’ મેચ કરશે 'એસી’ માત્ર. યાદ રાખો કે.’ વાઇલ્ડકાર્ડ પ્રતિનિધિત્વ આરક્ષિત પાત્ર છે? તેથી સમયગાળા સાથે મેળ, એટલે '.', અમે તેને જેમ છટકી જરૂર છે.’
– અભિવ્યક્તિ [:alnum:] બધા આલ્ફા-આંકડાકીય અક્ષરો મેચ કરશે. તે માટે એક શોર્ટકટ છે [એક માટે Z0-9]. તમે જોઈ શકો છો, તે ખરેખર એક શૉર્ટકટ છે. અભિવ્યક્તિ [:alnum:] યાદ રાખવું સરળ હોઈ શકે છે કેટલાક લોકો માટે.
– અભિવ્યક્તિ [:આલ્ફા:] બધા આલ્ફા અક્ષરો મેચ કરશે. તે માટે એક શોર્ટકટ છે [એ Za-z].
– અભિવ્યક્તિ [:ખાલી:] એક જગ્યા અથવા ટેબ મેચ કરશે.
– અભિવ્યક્તિ [:US આ:] આંકડાકીય આંકડાના મેચ કરશે. તે માટે એક શોર્ટકટ છે [0-9].
– અભિવ્યક્તિ [:નીચેનું:] બધા લોઅરકેસ અક્ષરો મેચ કરશે. તે માટે એક શોર્ટકટ છે [a-z].
– અભિવ્યક્તિ [:ઉપલા:] બધા મોટા અક્ષરો મેચ કરશે. તે માટે એક શોર્ટકટ છે [એક-ઝેડ].
– અભિવ્યક્તિ [:બિંદુ:] બધા પ્રીન્ટ અક્ષરો મેચ કરશે, જગ્યાઓ અને alphanumerics બાદ.
– અભિવ્યક્તિ [:જગ્યા:] એક સફેદજગ્યાના પાત્ર મેચ કરશે.
ફેરફાર
બદલવાની તરત પૂર્વવર્તી પેટર્ન પાત્ર અર્થ બદલે.
– ફૂદડી ('*') મેચ 0 અથવા અગાઉના ગાળાની વધુ. ઉદાહરણ તરીકે 'એક *’ મેચ કરશે ”, 'એ', 'એએ', 'AAAAA’ અને તેથી પર (નોંધ ઉપયોગ ”. તે માત્ર અર્થ એ થાય કે અભિવ્યક્તિ તેમજ કંઈ મેળ ખાય છે).
– પ્રશ્ન ચિહ્ન ('?') મેચ 0 અથવા 1 પૂર્વવર્તી શબ્દ. ઉદાહરણ તરીકે 'એક?’ મેચ કરશે ” અને 'એક’ માત્ર.
– વત્તા ચિહ્ન ('+') મેચ 1 અથવા અગાઉના ગાળાની વધુ. ઉદાહરણ તરીકે 'A +’ 'એ' મેચ કરશે, 'aaaaaaa’ અને તેથી પર. તે સાથે મેળ નહીં ”.
– {એમ,એ} એમ અને એન પૂર્વવર્તી શબ્દ વારાઓ વચ્ચે મેચ. ઉદાહરણ તરીકે 'એક{1,3}’ 'એ' મેચ કરશે, 'એએ’ અને 'એએએ’ માત્ર.
– {એ} સાથે મેળ ખાય છે બરાબર એ અગાઉના શબ્દ વારાઓ. ઉદાહરણ તરીકે 'એક{2}’ 'એએ મેચ કરશે’ માત્ર.
મેજબાન
મેજબાન જેમ કે પેટર્ન માટે સંદર્ભ અધિષ્ઠાપિત “એક શબ્દના પ્રારંભમાં” અથવા “શબ્દ ઓવરને”.
– પાઇક '^’ એક લીટી શરૂઆત કરે છે. ઉદાહરણ '^ HTTP’ કોઈપણ નવી લાઇન કે 'HTTP' સાથે શરૂ થાય છે મેચ કરશે.
– ડોલર સાઇન '$’ એક લીટી ઓવરને ચિહ્નિત કરે છે. $ બાદ ઉદાહરણ '’ કોઈપણ લીટી એ છે કે 'પછી' સાથે અંત થાય છે મેચ કરશે. (PHP, ચલો સાથે શરૂ થાય છે $. તેની સાથે દિગ્મૂઢ નથી પ્રયાસ કરો).
જૂથ
જૂથબદ્ધ '( )’ સંશોધકો માત્ર તરત જ proceding ઉલ્લેખકર્તાનો બદલે રાખતા કોડ આ પ્રમાણે સ્પષ્ટ જૂથો માટે લાગુ પડે છે માટે પરવાનગી આપે છે. ઉદાહરણ '( એએ | બીબી )’ ક્યાં તો 'એએ મેચ કરશે’ અથવા 'બીબી’
કંટાળાજનક સામગ્રી પૂરતી, તે સમય શું રાખતા કોડ આ પ્રમાણે સિદ્ધાંત સારા ઉપયોગ માં મૂકી છે.
PHP, અમલીકરણ
ત્યા છે 2 રાખતા કોડ આ પ્રમાણે મુખ્ય ચલો, પર્લ સુસંગત રાખતા કોડ આ પ્રમાણે (PCRE) અને પોસિક્સ-વિસ્તૃત. PHP, આ અમલ કરવા માટે કાર્યો તદ્દન alot આપે છે 2 રાખતા કોડ આ પ્રમાણે પ્રકારો. PHP, માં, સૌથી સામાન્ય રીતે વાપરવામાં PCRE કાર્ય 'preg_match છે’ અને પોસિક્સ-વિસ્તૃત રાખતા કોડ આ પ્રમાણે છે, 'Ereg'. બંને વાક્યરચના સહેજ અલગ પરંતુ સમાન શક્તિશાળી છે. પસંદગી 'preg_match વાપરવા માટે’ અથવા 'ereg’ જોકે Zend સૂચવ્યું કે preg_match સહેજ ઝડપી છે સંપૂર્ણપણે વ્યક્તિગત પર છે. હું ઉપયોગ 'eregi પસંદ કરે છે’ ખાલી Linux વહીવટ મારા પૃષ્ઠભૂમિ કારણે.
ઉદાહરણ 1: યુનાઈટેડ સ્ટેટ્સ ઑફ અમેરિકા મેચિંગ 5 અથવા 9 અંક ઝીપ કોડ
યુએસએ ઝિપ કોડ નીચેના બંધારણમાં હોય છે ##### અથવા #####-#### જ્યાં # એક આકડો છે. તમે સબમિટ ઝીપ કોડ ચકાસવા માંગો છો, તો એક ઓનલાઇન ફોર્મ કહી, તમે તેને ચકાસવા માટે તમારા સ્ક્રિપ્ટ ક્યાંક રાખતા કોડ આ પ્રમાણે ઉપયોગ કરવાની જરૂર પડશે. બંધબેસતી પોસિક્સ-વિસ્તૃત રાખતા કોડ આ પ્રમાણે પેટર્ન હશે:
[[:US આ:]]{5}(-[[:US આ:]]{4})?
ગુંચવાયા? રાહ જુઓ, મને શા માટે સમજાવે છે દો. આ રાખતા કોડ આ પ્રમાણે વિભાજિત કરવામાં આવે 2 ભાગો: [[:US આ:]]{5} નબળાઈને ઓળખવા અને તેનો સામનો કરવા માટેનો સમય (-[[:US આ:]]{4})?.
પ્રથમ ભાગ: '[[:US આ:]]’ એનો અર્થ એ થાય આંકડાના ટકાવારી શ્રેણી અને {5} એનો અર્થ એ થાય કે આંકડાના થવી જ જોઈએ 5 વખત.
બીજા ભાગ: કૌંસ '( )’ જૂથો '-[[:US આ:]]{4}’ સાથે મળીને અને '?’ અભિવ્યક્તિ 'એટલે(-[[:US આ:]]{4})’ થઇ શકે છે ક્યાં 0 અથવા 1 સમય.
PHP, માં રાખતા કોડ આ પ્રમાણે અમલ કરવા માટે, અમે નીચેની કોડ ઉપયોગ:
$zipCodes = 'XXXXX-xxxx';
$પેટર્ન = '[[:US આ:]]{5}(-[[:US આ:]]{4})?';
જો (ereg($પેટર્ન,$zipCodes)) {
પડઘો “મેળ ખાતી મળી “;
}
બીજું {
પડઘો “મેળ ખાતા નથી મળી”;
}
ઉદાહરણ 2: તારીખો મેચિંગ
અમે તારીખો વપરાશકર્તા દ્વારા દાખલ ચકાસવા માંગો છો કહો. અમે ફક્ત જેવા તારીખો સ્વીકારો તો “YYYY-MM-DD” અથવા “YYYY-એમ ડી”, રાખતા કોડ આ પ્રમાણે પેટર્ન હશે
[0-9]{4}(-[0-9]{1,2})+
'’ શબ્દ પાછળ (-[0-9]{1,2}) એનો અર્થ એ થાય છે કે આ શબ્દ ઓછામાં ઓછા એક વખત થાય છે જ જોઈએ. નોંધ કરો કે હું પણ રાખતા કોડ આ પ્રમાણે લખાણ લખે કરી શકો છો:
[[:US આ:]]{4}(-[[:US આ:]]{1,2})+
અથવા
[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}
તમે જોઈ શકો છો, ત્યાં એક સમસ્યા ઘણા ઉકેલો હોઈ શકે છે…
તારણ
Regex પ્રથમ પાચન કરવા માટે મુશ્કેલ હોઈ શકે છે, પરંતુ તર્ક સરળ છે જો તમે વધુ પ્રેક્ટિસ કરવા માટે સક્ષમ છે. રાખતા કોડ આ પ્રમાણે શીખવી શીખવાની PHP, તરીકે અગત્યનું છે. વધુ ઉદાહરણો web-developer.sitecritic.net પર જોઈ શકાય છે. સારા નસીબ.
બર્નાર્ડ પેહ વેબ ટેકનોલોજી એક મહાન passioner અને સહ સ્થાપક એક છે Sitecritic.net સાઇટ સમીક્ષાઓ. તેમણે અનુભવી વેબ ડિઝાઇનરો અને કરતાં વધુ માટે વિકાસકર્તાઓ સાથે કામ કરે છે 5 વર્ષ, વિકાસ અને વ્યાપારી અને બિન-વ્યાવસાયિક વેબસાઇટ્સ ડિઝાઇન. તેમના મફત સમય દરમિયાન, તેમણે વેબસાઈટ સમીક્ષાઓ કરે, ફ્રીલાન્સ SEO અને PHP, કામ. ખાતે તેમના બ્લોગ ની મુલાકાત લો મેલબોર્ન PHP,
લેખ સોર્સ: HTTP://EzineArticles.com/?નિષ્ણાત = Bernard_Peh
HTTP://EzineArticles.com/?પરિચય થી નિયમિત અભિવ્યક્તિઓ ઇન PHP,&id = 222113