簡體   English   中英

正則表達式不匹配

[英]regex.matches notmatching

我試圖這樣做5個小時,我絕望了,我會生氣。 請幫我。

var start   =  new  List<string>( ) {"Report", "Audit"  , "Committee" } ;
string expresss= start[0] + @"(.*?)\n{0,1}(.*?)" + start[1] + @"(.*)$";
MatchCollection matches = Regex.Matches(text, "(?im)"+ expresss );

此代碼找不到““審核委員會的報告”“

在此處輸入圖片說明

但是在這里,我可以找到text3的正則表達式。

在此處輸入圖片說明

請幫助我通過c#正則表達式代碼找到““審核委員會的報告””。 謝謝。

看起來這既是區分大小寫的事實,又不是跨多行匹配正則表達式(這要感謝@stribizhev)。

采用:

MatchCollection matches = Regex.Matches(text, "(?im)"+ expresss,
  RegexOptions.Multiline | RegexOptions.IgnoreCase );

我不能從上下文RegexOptions.CultureInvariant出來,但也許值得考慮使用RegexOptions.CultureInvariant是否也合適。

編輯:好的,我不知道C#可以使用(?im)進行大小寫+多行匹配。 在這種情況下,如果(?im)無效,則不確定這對您如何工作。 我只是取消了測試中的選項,將(?im)保留下來,它確實匹配了。

暫無
暫無

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

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