我有一个文本,想要找到一些正则表达式的字符串。我的问题是我不知道怎么做"&& -and"这里。
我有这样的文字:
AB " something is here;
and here...
";
...
AB "new line
continues ... ";
我想找到所有AB,以&#34 ;;
结尾我的代码用于";" :
var matches = Regex.Matches(tmp, "(AB) ([^;]*);", RegexOptions.Singleline);
但我如何制作"(AB) ([^(\";)]*)\";"
或"(AB) ([^(\"&&;)]*)(\"&&;")
?
我想:
AB
" something is here;
and here ...
"
AB
"new line
continues ..."
答案 0 :(得分:2)
^
只能否定字符类,而字符类又不能包含字符串(但只包含单个字符)。但是,对于称为否定前瞻的字符串(或实际上是完整的正则表达式),存在类似的概念:
@"(AB) (\"(?:(?!\";).)*\");"
这将使用任意字符(.
),只要它们不标记";
的开头即可。当然,继续使用Singleline
选项。你可以在lookaround assertions here上阅读。
答案 1 :(得分:0)
我不认为AND
运算符存在或甚至是必需的。 read this question
但是,要完成字符串查找解决方案,此正则表达式指南可以为您提供很多帮助。 希望它有所帮助。
答案 2 :(得分:0)
试试这个Regex
:
AB\s+\"((?:.+\s*)+?(?=\";))\";
解释
的
(?= subexpression)
强> 的 零宽度正向先行断言。的
(?: subexpression)
强> 的 定义一个非捕获组。的
.
强> 的 通配符:匹配除\n
之外的任何单个字符。的
\s
强> 的 匹配任何空白字符。