正则表达式不匹配字符串c#

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式不匹配字符串c#相关的知识,希望对你有一定的参考价值。

string val = "VFC - [C:studyRun20315.5000]"
string pattern = "VFC - *C:studyRund.*"

我写了下面的表达,但它变得虚假。

bool Match= Regex.IsMatch(val, pattern)
答案

您忘记了方括号,如果您计划匹配数字并且反斜杠必须加倍 - 或更好 - 使用逐字字符串文字,则d丢失之前的反斜杠。另外,请注意*是一个量词,使其前面的模式匹配0次或更多次。如果需要匹配两个模式之间的任意文本,请使用.*.*?,如果有换行符,请使用RegexOptions.Singleline编译模式:

string pattern = @"VFC - .*C:studyRund";
bool Match= Regex.IsMatch(val, pattern, RegexOptions.Singleline);

查看.NET regex demoRegulex graph

enter image description here

细节

  • VFC - - 文字VFC - 子串
  • .* - 尽可能多的零个或多个字符
  • C:studyRun - 一个C:studyRun子串
  • d - 一个数字。

以上是关于正则表达式不匹配字符串c#的主要内容,如果未能解决你的问题,请参考以下文章

第43天python学习re模块学习

正则表达式不匹配字符串c#

正则表达式-匹配

C# - 正则表达式 - 替换不匹配的字符

正则表达式 如何完成匹配某个字符串 但是不包含指定字符串

C#Regex使用匹配值替换