PHP में रेगुलर एक्सप्रेशन के उपयोग का ऑप्टिमाइजेशन

रेगुलर एक्सप्रेशन बहुत भारी और अपेक्षाकृत धीमी गति से काम करने वाली चीज है। जब कोई वैकल्पिक समाधान हो, तो उसी का उपयोग करना वांछनीय है।

आइए एक उदाहरण देखें। मान लीजिए कि हमें यह जांचना है कि कोई स्ट्रिंग एक विस्मयादिबोधक चिह्न से शुरू होती है या नहीं। किसी प्रोग्रामर ने इस कार्य को रेगुलर एक्सप्रेशन के माध्यम से हल किया:

php<?php
  if (preg_match('#^!#', $str)) {
    echo 'हाँ';
  } else {
    echo 'नहीं';
  }
?>

हालाँकि, ऐसे कार्य का बहुत तेज गति से काम करने वाला समाधान है:

php<?php
  if ($str[0] == '!') {
    echo 'हाँ';
  } else {
    echo 'नहीं';
  }
?>

रेगुलर एक्सप्रेशन बहुत भारी और अपेक्षाकृत धीमी गति से काम करने वाली चीज है। हमेशा, जहाँ कोई वैकल्पिक समाधान हो, वहाँ उसी का उपयोग करना वांछनीय है।

Задание 1

निम्नलिखित कोड में कोई प्रोग्रामर जाँच रहा है कि क्या स्ट्रिंग में '333' सबस्ट्रिंग मौजूद है। इस प्रोग्रामर के समाधान को ऑप्टिमाइज़ करें।

कोड इस प्रकार है:

php<?php
  $str = '1233345';
  
  if (preg_match('#333#', $str)) {
    echo 'मौजूद है';
  } else {
    echo 'मौजूद नहीं है';
  }
?>
Задание 2

निम्नलिखित कोड में कोई प्रोग्रामर जाँच रहा है कि क्या स्ट्रिंग .html पर समाप्त होती है। इस प्रोग्रामर के समाधान को ऑप्टिमाइज़ करें।

कोड इस प्रकार है:

php<?php
  $str = 'index.html';
  
  if (preg_match('#\.html$#', $str)) {
    echo 'हाँ';
  } else {
    echo 'नहीं';
  }
?>
Задание 3

ऐसा कोड लिखें जो यह जाँचे कि क्या स्ट्रिंग .png या .jpg पर समाप्त होती है।