Rez*_*eza 0 regex text-editor visual-studio
如何交换'='运算符两侧的表达式?
例如我有:
a.Text = b.ID;
Run Code Online (Sandbox Code Playgroud)
我需要一个Regx来改变方面:
b.ID = a.Text;
Run Code Online (Sandbox Code Playgroud)
我想
在C#的Visual Studio的Replace窗口中使用regx
在C#中,您可以使用以下代码执行此操作:
var text = "a.Text = b.ID;";
var regex = new Regex(@"^(?<left>[^=\s]+)\s*=\s*(?<right>[^;]+);$");
var match = regex.Match(text);
if (match.Success) {
var newText = String.Format(
"{0} = {1};", match.Groups["right"].Value, match.Groups["left"].Value);
}
Run Code Online (Sandbox Code Playgroud)
正则表达式的细分:
^:将匹配锚定在字符串的开头(?<left>[^=\s]+):匹配至少一个不是=或空白的字符.将其捕获到名为的组left.\s*=\s*:匹配=可选地由空格包围.(?<right>[^;]+):匹配至少一个不是的字符;.将其捕获到名为的组right.;:匹配;.$:将匹配锚定到字符串的末尾.如果要在Visual Studio编辑器中执行类似的替换,则需要在" 快速替换"对话框中使用以下值:
{[^=:b]+}:b*=:b*{[^;]+}\2 = \1主要的区别是,组由括号定义,而不是圆括号和空格字符组由表示:b,不会\s.
在Visual Studio的"替换文件"对话框中,([^= ]*) = ([^= ]*);在"查找内容"文本框和$2 = $1;"替换为"对话框中输入.例如,在Visual Studio 2012中:

| 归档时间: |
|
| 查看次数: |
1301 次 |
| 最近记录: |