C# 正则表达式regex如何生成;及;
我有一个文本,想找到一些带有正则表达式的字符串。我的问题是我不知道如何在这里做“&&&-和” 我有这样的文字:C# 正则表达式regex如何生成;及;,c#,regex,split,find,C#,Regex,Split,Find,我有一个文本,想找到一些带有正则表达式的字符串。我的问题是我不知道如何在这里做“&&&-和” 我有这样的文字: AB " something is here; and here... "; ... AB "new line continues ... "; 我想找到所有AB,以“ 我的代码用于“;“: 但是我怎样才能使“(AB)([^(\”;)]*)\”;“或只是”(AB)([^(\”&&&;)]*)(\”&&;” 我希望: AB " something is here; and
AB " something is here;
and here...
";
...
AB "new line
continues ... ";
我想找到所有AB,以“
我的代码用于“;“:
但是我怎样才能使“(AB)([^(\”;)]*)\”;“
或只是”(AB)([^(\”&&&;)]*)(\”&&;”
我希望:
AB
" something is here;
and here ...
"
AB
"new line
continues ..."
我认为不存在或甚至不需要
和操作符
不过,为了完成字符串查找解决方案,本正则表达式指南可以为您提供很多帮助。
希望能有帮助
^
只能对字符类求反,而字符类又不能包含字符串(但只能包含单个字符)。但是,对于字符串(或实际上是完全的正则表达式),有一个类似的概念称为负前瞻:
@"(AB) (\"(?:(?!\";).)*\");"
这将使用任意字符(
),只要它们不标记”的开头代码>。当然,请继续使用单线
选项。你可以继续阅读。试试这个Regex
:
AB\s+\"((?:.+\s*)+?(?=\";))\";
说明:
(?=子表达式)
零宽度正向前瞻断言
(?:子表达式)
定义非捕获组
通配符:匹配除\n
之外的任何单个字符
\s
匹配任何空白字符
你到底想匹配什么?你可以展示一个文本块的例子,然后是你想要匹配的部分吗?请看我的编辑,我想要实现的。我尝试了您的代码,但在@AB?@UniLe中出现了一些错误。请注意,我的代码片段不是正则表达式,而是完整的正则表达式字符串(作为逐字字符串,应始终用于正则表达式)。如果您想分别捕获这两个部分,只需添加括号:“(AB)(\”(?:(!\”;)*\”;
。但是,在您的情况下,这有点毫无意义,因为匹配的前两个字符始终是AB
,从索引3
到倒数第二个索引的字符将是其余字符。@m.buettned:谢谢,您的代码工作得很好。AB只是一个例子,可能更多像AB CD…,但我想要的是你的代码,再次感谢当我有一个字符串AB 134 aBd“…”代码>如何更改您的代码?类似于“(AB)([0-9])([A-Za-z0-9])(\”(?:(?!\”;))*”;“
@UniLe close,除了需要重复字符类(否则它们将只匹配允许的字符中的一个字符):@”(AB)([0-9]+)([a-Za-z0-9]+)(\”(?:(!\”;))*\”;“
”。当然,您可以将所有选项都设置为可选,因此它仍然适用于初始示例:``@“(AB)\s*([0-9]*)\s*([A-Za-z0-9]*)\s*(\”(?:(?!\”;)*)\”;“`我的编译器不'识别什么\s?”?
AB\s+\"((?:.+\s*)+?(?=\";))\";