Regex-直到字符串第一次出现
本文关键字:第一次 字符串 Regex- | 更新日期: 2023-09-27 18:25:40
我已经尝试创建我需要的正则表达式,但即使半个小时后我仍然没有成功。
正则表达式应该如下所示:后面跟有ANY字符的hey
字符串(还有新行),以</div>
字符串的第一个occurence结束。
我尝试过这样做,但当我允许hey
字符串之后的任何内容时,它会变得过于贪婪,并返回一个包含hey
和之后任何内容的匹配,而不是给我多个以</div>
结束的匹配。
谢谢你的帮助。
这样行吗?试试看。
.*?表示非贪婪任意字符任意长度
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,它让我知道如何懒散地做。