欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

正则表达式实现最小匹配功能的方法

程序员文章站 2022-03-10 22:23:51
本文实例讲述了正则表达式实现最小匹配功能的方法。分享给大家供大家参考,具体如下: 正则表达式默认情况下实现的是最大化匹配,这在有些情况下是非常不愿意出现的,比如下面这段代...

本文实例讲述了正则表达式实现最小匹配功能的方法。分享给大家供大家参考,具体如下:

正则表达式默认情况下实现的是最大化匹配,这在有些情况下是非常不愿意出现的,比如下面这段代码:

# starting indiainventoryapp.exe" ~~displayvariablevalues "parametergroup,mailrecipients,moduleargs"~displayvariablevalues "logfolder"~$binaryexitcode = 0~~$indiainventoryargs = "-aswin32console -s hkdrmsuat3 -d $databasename -u $databaseusername -p $databasepassword -l $logfolder -mailrecipients $mailrecipients -t $today_yyyy -z d:\cs48516\posids.txt"~executebinarycommand ([ref]$binaryexitcode) "$applicationpath/indiainventoryapp.exe" $indiainventoryargs $true~

我们想匹配#与~中间的任何文字,实现最小匹配的方法就是利用(?i)

下面是具体实现方法:

string commentgrammer = @"(?i)\#.*?~";
regex commentregex = new regex(commentgrammer,regexoptions.ignorecase|regexoptions.singleline);
matchcollection commentmc = commentregex.matches(input);
foreach (match match in commentmc)
{
  int length = match.length;
  int index = match.index;
  richtextbox.select(index, length);
  richtextbox.selectioncolor = color.green;
}

ps:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

javascript正则表达式在线测试工具:

正则表达式在线生成工具:

希望本文所述对大家正则表达式学习有所帮助。