我想寫一個小實用程序,它可以在大約8000個源代碼文件中將某些變量替換爲某種其他格式。故意忽略連字符
例如,我在Progress4GL上編寫了以下類型的源代碼。 注:Progress4GL允許在變量名中使用連字符:
where x-crudefn.segment-id[5] =crudefn.segment-id[v-idx]
我需要找到準確的crudefn.segment-id
的次數當我使用正則表達式(crudefn.segment-id)(\[)
,它發現它在等號的兩個部分。
在這種情況下,是另一個我不想替換的變量。
我只想替換變量crudefn.segment-id
當我嘗試使用正則表達式[^\-](crudefn.segment-id)(\[)
忽略連字符,還包括在比賽結果("=crudefn.segment-id[")
等號,這是我不想要的。在某些情況下,源代碼是這樣的:
where x-crudefn.segment-id[5] =crudefn.segment-id[v-idx]
,並在其他一些情況下是這樣的:看來你要的crudefn
字匹配整個單詞,但不包括
where x-crudefn.segment-id[5] = a + crudefn.segment-id[v-idx]
嘗試['(< - !)\ bcrudefn \ .SEGMENT-ID \ ['](https://regex101.com/r/qQ6zZ8/2) –