मैं एक सी ++ कोड बेस पर काम कर रहा हूं जिसे हाल ही में एक्स/मोटीफ से क्यूटी तक ले जाया गया था। मैं एक पर्ल स्क्रिप्ट लिखने की कोशिश कर रहा हूं जो बूल के साथ बूलियन (एक्स से) की सभी घटनाओं को प्रतिस्थापित करेगा। लिपि बस एक साधारण प्रतिस्थापन करता है।बूलियन को बूल के साथ बदलने के लिए रेगेक्स
s/\bBoolean\b/bool/g
कुछ स्थितियां हैं।
1) हमारे पास हमारे कोड में कॉर्बा है और \ b मैर कॉरबा :: बूलियन है जो नहीं बदला जाना चाहिए।
2) अगर यह (स्ट्रिंग के रूप मिला था यानी "बूलियन" यह मेल नहीं चाहिए)
अपडेट किया गया:
# 1 के लिए, मैं lookbehind
s/(?<!:)\bBoolean\b/bool/g;
इस्तेमाल किया # 2 के लिए , मैंने लुकहेड का इस्तेमाल किया।
s/(?<!:)\bBoolean\b(?!")/bool/g</pre>
यह मेरी स्थिति के लिए सबसे अधिक संभावना है लेकिन निम्नलिखित सुधारों के बारे में कैसे होगा?
3) स्ट्रिंग के बीच में मिलान न करें (धन्यवाद nohat)।
4) किसी टिप्पणी में अगर मेल नहीं खाते। (// या/** /)
साइड नोट: http://stackoverflow.com/questions/72312/how-should-i-capitalize-perl#72757 – szabgab