regex

2015-04-15 11 views
16

मुझे लगता है मेंregex

#{account_nbr} 

साथ

{{account_nbr}} 

बदलना चाहते हैं साथ में WebStorm/PhpStorm को बदलने के लिए कैसे, मैं इस कोशिश की , यह:

{{\$1}} 

लगता है कि यह काम काम करता है लेकिन मुझे बैकरेफर सही तरीके से नहीं मिल रहा है।

क्या गलत है?

उत्तर

31

आपको किसी भी बैक्रेरेंस की आवश्यकता नहीं है जिस तरह से आप उनका उपयोग कर रहे हैं।

इस regex आप उपयोग कर सकते है:

\#\{(\w+)\} 

रिप्लेसमेंट होना चाहिए

{{$1}} 

आप \$ उपयोग करते हैं, एक शाब्दिक $ प्रयोग किया जाता है, न कि वास्तविक बैक संदर्भ।

Regex demo

+0

http://i.imgur.com/WhBQMmO.png की जगह के लिए ही दुकान शब्द के लिए इस्तेमाल किया वापस स्पष्ट संदर्भ किया जाना है। आपका regexp काम ठीक = = – funivan

+0

ग्रेट। त्वरित उत्तर के लिए धन्यवाद! क्या इसका मतलब यह है कि बैकरेफरेंस कोष्ठक के अंदर सबकुछ है? – ndemoreau

+2

अंदर * अनदेखा * कोष्ठक को * कैप्चरिंग समूह * (http://www.regular-expressions.info/brackets.html) कहा जाता है। जब हम रेगेक्स में '\ 1' या प्रतिस्थापन स्ट्रिंग में '$ 1' का उपयोग करते हैं, तो यह एक * बैक-रेफरेंस * (http://www.regular-expressions.info/refreplacebackref.html) है। –