Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 请帮我创建正则表达式_C#_Regex - Fatal编程技术网

C# 请帮我创建正则表达式

C# 请帮我创建正则表达式,c#,regex,C#,Regex,请告诉我从字符串中替换值“$$12”的正则表达式是什么,其中“12”可以是任何数字。 我尝试了各种组合,但“$”产生了问题。由于“$在正则表达式中有特殊含义,您需要避开它: var sanitized = Regex.Replace("_$$12", @"_\$\$[0-9]+", "ReplacementString"); @"_\$\$\d\d" 由于$在正则表达式中具有特殊意义,因此需要对其进行转义: @"_\$\$\d\d" $在正则表达式中有特殊含义,它标记字符串的结尾。例如 R

请告诉我从字符串中替换值“$$12”的正则表达式是什么,其中“12”可以是任何数字。
我尝试了各种组合,但“$”产生了问题。

由于“
$
在正则表达式中有特殊含义,您需要避开它:

var sanitized = Regex.Replace("_$$12", @"_\$\$[0-9]+", "ReplacementString");
@"_\$\$\d\d"

由于
$
在正则表达式中具有特殊意义,因此需要对其进行转义:

@"_\$\$\d\d"

$
在正则表达式中有特殊含义,它标记字符串的结尾。例如

Regex.Replace(input_string,@"_\$\$\(d+)", @"\1");

\uu$$12
替换为
12

$
在正则表达式中有特殊含义,它标记字符串的结尾。例如

Regex.Replace(input_string,@"_\$\$\(d+)", @"\1");
将仅用
12
替换
-$12

检查以下内容:

using System.Text.RegularExpressions;

class RegExSample 
{
  static void Main() 
  {
    string text = "text _$$12 text";
    string result = Regex.Replace(text, @"_\$\$\d+", "#replacement#");
    System.Console.WriteLine("result = [" + result + "]");
  }
}
查看此代码的作用。

检查此代码:

using System.Text.RegularExpressions;

class RegExSample 
{
  static void Main() 
  {
    string text = "text _$$12 text";
    string result = Regex.Replace(text, @"_\$\$\d+", "#replacement#");
    System.Console.WriteLine("result = [" + result + "]");
  }
}
查看此代码的实际操作。

尝试此操作

        string input = "_$$12";
        string output = Regex.Replace(input, @"_\$\$", string.Empty);
输出为12。如果您增加输入,比如“$$123456”,那么输出将是123456

试试这个

        string input = "_$$12";
        string output = Regex.Replace(input, @"_\$\$", string.Empty);

输出为12。如果您增加输入,比如“$$123456”,那么输出将是123456

@RajeshRolen DotNetDeveloper-当然
\d\d
表示两位数字,如您的示例所示,但如果这不是正确的模式(可以是一位或多位,则
\d+
更合适。使用
Regex.Escape(“废话”)不是更好吗;
转义正则表达式?@RajeshRolen DotNetDeveloper-当然。
\d\d
表示两位数,如您的示例所示,但如果这不是正确的模式(可以是一个或多个,则
\d+
更合适。使用
正则表达式转义(“blah”)不是更好吗;
转义正则表达式?既然用C语言演示了这一点,您可能希望转义
\
字符,或者使用逐字字符串
@“\u\$\$(d+)
@Omega,这只是一个例子。OP没有指定替换应该是什么。也许你可以说得更好?因为你用C语言演示了这一点,你可能想转义你的
\
字符,或者使用逐字字符串
@“\u\$\$(d+)
@Omega,这只是一个例子。OP没有指定替换应该是什么。也许你能说得更好?实际删除它:)(整数值可以更改,所以需要正则表达式)实际删除它:)(整数值可以更改,所以需要正则表达式)