2012-12-05 18 views
5

Aptana (ग्रहण) में, मैं वस्तुओं से फ़ाइल पीएचपी साहचर्य सरणी का एक बहुत में बदलना चाहते हैं:ग्रहण/Aptana regex खोज और की जगह

द्वारा

$requete["something"] 

$row->something 

मैं कोशिश की है इस, खोज:

\$requete\[\"([\w.])+\"\] 
साथ

, बदलें:

कुछ

किसी भी विचारों का स्वागत के लिए छ: 10

\$row->$1 

लेकिन regex इंजन केवल खोज का अंतिम वर्ण ले जाता है! धन्यवाद

उत्तर

2

रेगेक्स केवल समूह के अंतिम चरित्र से मेल खाता है क्योंकि प्लस साइन शब्द समूह समूह के बाहर है। इसके अलावा, अवधि अनियंत्रित है।

Regex ठीक करने के लिए, धन चिह्न के साथ w के बाद की अवधि की जगह

\$requete\[\"([\w]+)\"\]

+0

बहुत बहुत धन्यवाद !!! मैं अपनी गलती को समझता हूं। और उपरोक्त समाधान भी काम करता है ... – Amoeba

1

खोज भाग में regex के लिए \$requete\[\"(\w+?)\"\] का उपयोग करें। आपके वर्तमान रेगेक्स के साथ समस्या यह है कि आप कैप्चरिंग समूह के बाहर क्वांटिफायर का उपयोग कर रहे हैं।

+0

धन्यवाद एक बहुत !!! लेकिन क्यों [] अनिवार्य नहीं हैं? ... – Amoeba

+0

'\ w' खुद वर्ण वर्गों का प्रतिनिधित्व करने के लिए एक शॉर्टेंड है जो शब्द वर्णों से मेल खाता है (' [a-zA-Z0 -9_] ')। यहां चरित्र वर्गों पर अधिक http://www.regular-expressions.info/charclass.html –