Regex-直到字符串第一次出现

本文关键字:第一次 字符串 Regex- | 更新日期: 2023-09-27 18:25:40

我已经尝试创建我需要的正则表达式,但即使半个小时后我仍然没有成功。

正则表达式应该如下所示:后面跟有ANY字符的hey字符串(还有新行),以</div>字符串的第一个occurence结束。

我尝试过这样做,但当我允许hey字符串之后的任何内容时,它会变得过于贪婪,并返回一个包含hey和之后任何内容的匹配,而不是给我多个以</div>结束的匹配。

谢谢你的帮助。

Regex-直到字符串第一次出现

这样行吗?试试看。

.*?表示非贪婪任意字符任意长度

hey.*?'

craig1231是对的,*之后的?使正则表达式不贪婪。我不知道你的意思是什么:

字符串第一次出现

如果这应该是两个双引号,那么在C#中试试这样的东西:

try {
    if (Regex.IsMatch(subjectString, "hey.*?'"'"", RegexOptions.Singleline)) {
        // Successful match
    } else {
        // Match attempt failed
    } 
} catch (ArgumentException ex) {
    // Syntax error in the regular expression
}

RegexOptions.Singleline是必要的,因为您还想捕获换行符等。

我终于创建了所需的正则表达式:

嘿((''s)|(.)*?

我的态度有点错误,因为如果我想找到第一个出现的东西,我应该简单地写下来,但我做到了,这要归功于craig1231,它让我知道如何懒散地做。