簡體   English   中英

正則表達式匹配單詞的第一個外觀

[英]Regex match the first appearance of a word

抱歉。 我重新討論了如下例子,如何在下一段中第一次出現瑪麗之后匹配數字( 1 )(在我的情況下,所有三組都是強制性的):

Regex.Match("Do you know 3453 **Mary** has a little lamb 1 and Mary likes dancing 2."
, @"(Do).*(Mary).*(\d)");

目前它匹配第二個瑪麗 ,因此,第三組捕獲2而不是1

使用.*? 而不是.*

Regex.Match("Do you know **Mary** has a little lamb 1 and Mary likes dancing 2.",
  @"(Do).*?(Mary).*?(\d)");

.*匹配最長的子串(貪婪),而.*? 匹配最短(懶惰)。 在您的示例中,第一個.*包含第一個Mary因為它匹配盡可能多的字符。

暫無
暫無

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

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