C# 字符串的正则表达式
如果有人能为我提供以下字符串的正则表达式,那就太好了 示例1:C# 字符串的正则表达式,c#,regex,C#,Regex,如果有人能为我提供以下字符串的正则表达式,那就太好了 示例1:abc 示例2:abc 正如您在上面提供的示例中所看到的,无论出现多少个,我都需要匹配字符串如果在和之间出现任何其他字符串,请这样说abcDEF或abcDEF,则正则表达式不应匹配 提前谢谢。。像无限嵌套标记这样的事情不能通过正则表达式处理。。无法通过正则表达式处理无限嵌套标记之类的问题。尝试以下方法: <div>([^<]+)(?:<\/div>)*<br> ([^试试这个: <di
abc
示例2:
abc
正如您在上面提供的示例中所看到的,无论出现多少个
,我都需要匹配字符串如果在
和
之间出现任何其他字符串,请这样说abcDEF
或abcDEF
,则正则表达式不应匹配
提前谢谢。。像无限嵌套标记这样的事情不能通过正则表达式处理。。无法通过正则表达式处理无限嵌套标记之类的问题。尝试以下方法:
<div>([^<]+)(?:<\/div>)*<br>
([^试试这个:
<div>([^<]+)(?:<\/div>)*<br>
([^NullUserException的答案很好。这里有几个问题和变化,取决于您想要什么
是否要防止在open div标记之前发生任何事情?如果是,请将“^”保留在正则表达式的开头。如果不是,请将其删除
这篇文章的其余部分涉及正则表达式的以下部分:
([^<]+?)
([^NullUserException的答案很好。这里有几个问题和变化,取决于您想要什么
是否要防止在open div标记之前发生任何事情?如果是,请将“^”保留在正则表达式的开头。如果不是,请将其删除
这篇文章的其余部分涉及正则表达式的以下部分:
([^<]+?)
([^我认为,这个正则表达式更灵活:
<div\b[^><]*+>(?>.*?</div>)(?:\s*+</div>)*+\s*+<br(?:\s*+/)?>
(?>.*)(:\s*+)*+\s*+
我不在正则表达式的开头和结尾包含^
和$
,因为我们无法保证您的示例始终在一行中。我认为,此正则表达式更灵活:
<div\b[^><]*+>(?>.*?</div>)(?:\s*+</div>)*+\s*+<br(?:\s*+/)?>
(?>.*)(:\s*+)*+\s*+
我不在正则表达式的开头和结尾包含^
和$
,因为我们无法保证您的示例始终在一行中。您也可以在表达式中包含命名组,例如:
<div>(?<text>[^<]*)(?:<\/div>)*<br>
(?[^(m.Success&&m.Groups[“text”!=null)?m.Groups[“text”]。值:null;
Func getText=s=>getGroupText(regex.Match);
Console.WriteLine(getText(“abc
”);
Console.WriteLine(getText(“123
”);
您还可以在表达式中包含命名组,例如:
<div>(?<text>[^<]*)(?:<\/div>)*<br>
(?[^(m.Success&&m.Groups[“text”!=null)?m.Groups[“text”]。值:null;
Func getText=s=>getGroupText(regex.Match);
Console.WriteLine(getText(“abc
”);
Console.WriteLine(getText(“123
”);
这是属于评论的东西。这是属于评论的东西。@Dusty或任何带有@NUE-right的东西。(很抱歉,如果它是dickish,我只是想指出一下,以防abc的op包含的不仅仅是纯文本)@Dusty一点也不。这实际上应该包括在帖子中。@Dusty或任何带有@NUE-right的东西。(很抱歉,如果它的结果是dickish,我只是想指出一下,以防abc的op包含的不仅仅是纯文本)@Dusty一点也不。这实际上应该包括在帖子中。看起来很痛苦。这还取决于您试图匹配字符串的哪一部分。只是最后一个
和它的结尾之间的文本?还是整个内容?是否允许
具有属性?是否允许其他元素具有属性es?你确定要用正则表达式来做这件事吗?它看起来不太优雅(更好,就像其他人建议的那样,使用解析器来代替它?)看起来很痛苦。这还取决于您试图匹配字符串的哪一部分。只是最后一个
和它的结尾之间的文本?还是整个内容?是否允许
具有属性?是否允许其他元素具有属性?是否确实要通过regex执行此操作?看起来不完全一样o优雅(更好,就像其他人建议的那样使用解析器?)当然,如果我没有,我会将其放在注释中而不是答案中。如果它不起作用,可能是您的PCRE库不支持所有格量词。如果是这样,请尝试删除所有加号(+)在正则表达式中的星号之后。如果这不起作用,请删除我创建的原子分组,即删除(?>
及其对括号。祝你好运!当然,如果我没有,我会把它放在注释中而不是答案中。如果它不起作用,可能你的PCRE库不支持所有格量词。如果是这样,请尝试删除所有加号(+)在正则表达式中的星号之后。如果不起作用,请删除我创建的原子分组,即删除(?>
及其对括号。祝你好运!