PHP में रेगुलर एक्सप्रेशन में कैरेक्टर सेट

कैरेक्टर ग्रुप \d और \w बहुत लचीले नहीं हैं। यहाँ तक कि ऐसा सरल कार्य, जैसे सभी अक्षर ढूंढना, लेकिन संख्याएँ नहीं - उनके द्वारा हल नहीं किया जा सकता। ऐसे कार्यों के लिए स्क्वायर ब्रैकेट्स का उपयोग करना चाहिए, जो OR ऑपरेशन का प्रतिनिधित्व करते हैं।

स्क्वायर ब्रैकेट्स अंदर सूचीबद्ध किसी भी एक कैरेक्टर का स्थान लेते हैं। उदाहरण के लिए, इस तरह: #x[abc]x# - हम कहते हैं कि किनारों पर एक्स अक्षर होने चाहिए, और अंदर - एक कैरेक्टर: या तो 'a', या 'b', या 'c'।

स्क्वायर ब्रैकेट्स के बाद रिपीटिशन ऑपरेटर्स लिखे जा सकते हैं। उदाहरण के लिए, इस तरह: #x[abc]+x# - हम कहते हैं कि एक्स के अंदर 'a', 'b' और 'c' कैरेक्टर्स की कोई भी संख्या - किसी भी संयोजन में हो सकती है।

न केवल कैरेक्टर्स को सूचीबद्ध किया जा सकता है, बल्कि दो कैरेक्टर्स के बीच हाइफन डालकर कैरेक्टर ग्रुप भी बनाए जा सकते हैं। उदाहरण के लिए, इस तरह: #[a-d]# - हमें 'a' से 'd' तक के सभी कैरेक्टर्स मिलते हैं।

आइए उदाहरणों पर नजर डालें।

उदाहरण

इस उदाहरण में सर्च पैटर्न इस तरह दिखता है: एक्स के बीच 'a' से 'z' तक कोई भी अक्षर:

php<?php
  $str = 'xax xbx xcx x@x';
  $res = preg_replace('#x[a-z]x#', '!', $str);
?>

परिणामस्वरूप वेरिएबल में निम्नलिखित लिखा जाएगा:

php'! ! ! x@x'

उदाहरण

इस उदाहरण में सर्च पैटर्न इस तरह दिखता है: एक्स के बीच 'a' से 'k' तक कोई भी अक्षर:

php<?php
  $str = 'xax xbx xmx x@x';
  $res = preg_replace('#x[a-k]x#', '!', $str);
?>

परिणामस्वरूप वेरिएबल में निम्नलिखित लिखा जाएगा:

php'! ! xmx x@x'

उदाहरण

इस उदाहरण में सर्च पैटर्न इस तरह दिखता है: एक्स के बीच 'A' से 'Z' तक कोई भी अक्षर:

php<?php
  $str = 'xax xBx xcx x@x';
  $res = preg_replace('#x[A-Z]x#', '!', $str);
?>

परिणामस्वरूप वेरिएबल में निम्नलिखित लिखा जाएगा:

php'xax ! xcx x@x'

उदाहरण

इस उदाहरण में सर्च पैटर्न इस तरह दिखता है: एक्स के बीच 0 से 9 तक कोई भी अंक:

php<?php
  $str = 'xax x1x x3x x5x x@x';
  $res = preg_replace('#x[0-9]x#', '!', $str);
?>

परिणामस्वरूप वेरिएबल में निम्नलिखित लिखा जाएगा:

php'xax ! ! ! x@x'

उदाहरण

इस उदाहरण में सर्च पैटर्न इस तरह दिखता है: एक्स के बीच 3 से 7 तक कोई भी अंक:

php<?php
  $str = 'xax x1x x3x x5x x@x';
  $res = preg_replace('#x[3-7]x#', '!', $str);
?>

परिणामस्वरूप वेरिएबल में निम्नलिखित लिखा जाएगा:

php'xax x1x ! ! x@x'

उदाहरण

इस उदाहरण में सर्च पैटर्न इस तरह दिखता है: एक्स के बीच 'a' से 'z' तक कोई भी अक्षर या 1 से 9 तक का अंक:

php<?php
  $str = 'xax x1x x3x x5x x@x';
  $res = preg_replace('#x[a-z1-9]x#', '!', $str);
?>

परिणामस्वरूप वेरिएबल में निम्नलिखित लिखा जाएगा:

php'! ! ! ! x@x'

उदाहरण

इस उदाहरण में सर्च पैटर्न इस तरह दिखता है: एक्स के बीच 'a' से 'z' तक कोई भी अक्षर या 'A' से 'Z' तक का अक्षर:

php<?php
  $str = 'xax xBx xcx x5x x@x';
  $res = preg_replace('#x[a-zA-Z]x#', '!', $str);
?>

परिणामस्वरूप वेरिएबल में निम्नलिखित लिखा जाएगा:

php'! ! ! x5x x@x'

उदाहरण

इस उदाहरण में सर्च पैटर्न इस तरह दिखता है: एक्स के बीच 'a' से 'z' तक कोई भी अक्षर या अंक 1, 2:

php<?php
  $str = 'xax xbx x1x x2x x3x';
  $res = preg_replace('#x[a-z12]x#', '!', $str);
?>

परिणामस्वरूप वेरिएबल में निम्नलिखित लिखा जाएगा:

php'! ! ! ! x3x'

उदाहरण

इस उदाहरण में सर्च पैटर्न इस तरह दिखता है: एक्स के बीच 'a' से 'z' तक के अक्षर 1 या अधिक की संख्या में:

php<?php
  $str = 'xx xabesx xaadx x123x xa3x';
  $res = preg_replace('#x[a-z]+x#', '!', $str);
?>

परिणामस्वरूप वेरिएबल में निम्नलिखित लिखा जाएगा:

php'xx ! ! ! x123x xa3x'

उदाहरण

आइए ऐसा बनाएं कि अक्षरों की संख्या शून्य भी हो सकती है:

php<?php
  $str = 'xx xabesx xaadx x123x xa3x';
  $res = preg_replace('#x[a-z]*x#', '!', $str);
?>

परिणामस्वरूप वेरिएबल में निम्नलिखित लिखा जाएगा:

php'! ! ! x123x xa3x'

प्रैक्टिकल टास्क्स

Задание 1

एक स्ट्रिंग दी गई है:

php<?php
  $str = 'aba aea aca aza axa';
?>

एक रेगुलर एक्सप्रेशन लिखें, जो निम्नलिखित पैटर्न के अनुसार ढूंढेगी: किनारों पर 'a' अक्षर हैं, और उनके बीच - 'b', 'e' या 'x' अक्षर।

Задание 2

एक स्ट्रिंग दी गई है:

php<?php
  $str = 'a1a a3a a7a a9a aba';
?>

एक रेगुलर एक्सप्रेशन लिखें, जो निम्नलिखित पैटर्न के अनुसार ढूंढेगी: किनारों पर 'a' अक्षर हैं, और उनके बीच - 3 से 6 तक का अंक।

Задание 3

एक स्ट्रिंग दी गई है:

php<?php
  $str = 'aba aea afa aha aga';
?>

एक रेगुलर एक्सप्रेशन लिखें, जो निम्नलिखित पैटर्न के अनुसार ढूंढेगी: किनारों पर 'a' अक्षर हैं, और उनके बीच - a से g तक का अक्षर।

Задание 4

एक स्ट्रिंग दी गई है:

php<?php
  $str = 'aba aea afa aha aga';
?>

एक रेगुलर एक्सप्रेशन लिखें, जो निम्नलिखित पैटर्न के अनुसार ढूंढेगी: किनारों पर 'a' अक्षर हैं, और उनके बीच - a से f और j से z तक का अक्षर।

Задание 5

एक स्ट्रिंग दी गई है:

php<?php
  $str = 'aAa aea aEa aJa a3a';
?>

एक रेगुलर एक्सप्रेशन लिखें, जो निम्नलिखित पैटर्न के अनुसार ढूंढेगी: किनारों पर 'a' अक्षर हैं, और उनके बीच - a से f और A से D तक का अक्षर।

Задание 6

एक स्ट्रिंग दी गई है:

php<?php
  $str = 'aAXa aeffa aGha aza ax23a a3sSa';
?>

एक रेगुलर एक्सप्रेशन लिखें, जो निम्नलिखित पैटर्न के अनुसार ढूंढेगी: किनारों पर 'a' अक्षर हैं, और उनके बीच - छोटे लैटिन अक्षर, बाकियों को प्रभावित किए बिना।

Задание 7

एक स्ट्रिंग दी गई है:

php<?php
  $str = 'aAXa aeffa aGha aza ax23a a3sSa';
?>

एक रेगुलर एक्सप्रेशन लिखें, जो निम्नलिखित पैटर्न के अनुसार ढूंढेगी: किनारों पर 'a' अक्षर हैं, और उनके बीच - छोटे और बड़े लैटिन अक्षर, बाकियों को प्रभावित किए बिना।

Задание 8

एक स्ट्रिंग दी गई है:

php<?php
  $str = 'aAXa aeffa aGha aza ax23a a3sSa';
?>

एक रेगुलर एक्सप्रेशन लिखें, जो निम्नलिखित पैटर्न के अनुसार ढूंढेगी: किनारों पर 'a' अक्षर हैं, और उनके बीच - छोटे लैटिन अक्षर और अंक, बाकियों को प्रभावित किए बिना।