簡體   English   中英

C#正則表達式反轉匹配

[英]C# Regular Expression Reversing Match

我正在尋找將substringof('has',verb)的一部分字符串轉換為contains(verb,'has')

如您所見,更改的只是包含的 子字符串 ,並且傳遞給函數的兩個參數相反。

我正在尋找使用正則表達式的通用解決方案。 最好使用標簽。 即,一旦我得到兩個匹配項,我需要能夠通過使用$ 2 $ 1來反轉匹配項(這是我記得在perl中這樣做的方式)

您可以使用以下正則表達式代碼:

var re = new Regex(@"substringof\('([^']+)',([^)]+)\)");
string output = re.Replace(input, @"contains($2, '$1')");

.NET小提琴示例

您可以使用以下正則表達式:

.*?\((.*?),(.*?)\)

工作演示

然后,您可以像這樣使用字符串替換:

contains(\2,\1)    or
contains($2,$1)

在此處輸入圖片說明

順便說一句,如果您只想更改substringof ,則可以使用:

substringof\((.*?),(.*?)\)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM