यदि आप एक स्थान की तलाश कर रहे हैं, तो वह " "(एक स्थान) होगा।
यदि आप एक या अधिक की तलाश में हैं, तो यह " *"( दो स्थान और तारांकन) या " +"(एक स्थान और एक प्लस) है।
आप आम रिक्ति, उपयोग के लिए देख रहे हैं "[ X]"या "[ X][ X]*"या "[ X]+"जहांX शारीरिक टैब वर्ण है (और प्रत्येक उन सभी उदाहरण में एक भी अंतरिक्ष से पहले किया जाता है)।
ये मेरे द्वारा देखे गए प्रत्येक * रेगेक्स इंजन में काम करेंगे (जिनमें से कुछ में एक या अधिक "+"वर्ण नहीं हैं, उह)।
यदि आप जानते हैं कि आप आधुनिक रेगेक्स इंजनों में से एक का उपयोग कर "\s"रहे हैं , और इसकी विविधताएँ जाने का मार्ग हैं। इसके अलावा, मेरा मानना है कि शब्द सीमाएँ रेखाओं के शुरू होने और समाप्त होने के साथ-साथ महत्वपूर्ण होती हैं, जब आप उन शब्दों की तलाश में होते हैं जो पूर्ववर्ती या रिक्त स्थान के बिना दिखाई दे सकते हैं।
PHP के लिए विशेष रूप से, यह पृष्ठ मदद कर सकता है।
अपने संपादन से, ऐसा प्रतीत होता है कि आप सभी गैर-मान्य वर्णों को हटाना चाहते हैं। इस की शुरुआत है (नोट रेगेक्स के अंदर का स्थान)
$newtag = preg_replace ("/[^a-zA-Z0-9 ]/", "", $tag);
# ^ space here
अगर आप यह भी सुनिश्चित करना चाहते हैं कि प्रत्येक शब्द के बीच केवल एक ही स्थान हो और शुरुआत या अंत में कोई नहीं हो, तो यह थोड़ा अधिक जटिल है (और शायद एक और सवाल) लेकिन मूल विचार यह होगा:
$newtag = preg_replace ("/ +/", " ", $tag); # convert all multispaces to space
$newtag = preg_replace ("/^ /", "", $tag); # remove space from start
$newtag = preg_replace ("/ $/", "", $tag); # and end