c# - Removing a block of text with regex, matching first occurrences only -
i need remove stored procedure generated script using regex. example, need remove usp_remove:
... go /****** object: storedprocedure [dbo].[usp_remove] ******/ ... go /****** object: storedprocedure [dbo].[usp_keep] ******/ ... go i tried following regex:
\/*\*\*\*\*\*\* object: storedprocedure \[dbo\]\.\[usp_remove\][\s\s]*go which selects beginning of text. matches until last "go", , need match until first occurrence of "go" remove stored procedure only. appreciated!
i use lazy matching not overmatch, , use positive look-ahead capture stored procedure:
(?si)/\*{6}\s+object:\s+storedprocedure\s+\[dbo\]\.\[usp_remove\]\s+\*{6}\/.*?(?=go) sample code:
var txt = "your_txt"; var rx = new regex(@"/\*{6}\s+object:\s+storedprocedure\s+\[dbo\]\.\[usp_remove\]\s+\*{6}\/.*?(?=go)", regexoptions.singleline | regexoptions.ignorecase); var result = rx.replace(txt, string.empty); expresso:

Comments
Post a Comment