Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# abc的正则表达式是什么?_C#_.net_Regex - Fatal编程技术网

C# abc的正则表达式是什么?

C# abc的正则表达式是什么?,c#,.net,regex,C#,.net,Regex,我试图使用正则表达式来确定字符串是否匹配*abc-换句话说,它以任何东西开头,但以“abc”结尾 这个的正则表达式是什么? 我尝试了*abc,但“Regex.Matches”对xxabc返回true,这不是我想要的。abc$ 您需要$来匹配字符串的结尾 .*abc$ 应该这样做。试试这个: .*abc$ $与行的末尾匹配 ^.*abc$ 将捕获以abc结尾的任何行。因此这里有一些“鱼”,但是 在线表达式库和基于.NET的测试仪: 基于Ruby的在线测试仪(比.NET更快) 用于测试Exp

我试图使用正则表达式来确定字符串是否匹配*abc-换句话说,它以任何东西开头,但以“abc”结尾

这个的正则表达式是什么? 我尝试了*abc,但“Regex.Matches”对xxabc返回true,这不是我想要的。

abc$

您需要
$
来匹配字符串的结尾

.*abc$
应该这样做。

试试这个:

.*abc$
$与行的末尾匹配

^.*abc$
将捕获以abc结尾的任何行。

因此这里有一些“鱼”,但是

  • 在线表达式库和基于.NET的测试仪:
  • 基于Ruby的在线测试仪(比.NET更快)
  • 用于测试Expressions的windows应用程序(功能最全,但没有正面或背面的零宽度外观)

这取决于你到底在寻找什么。如果您试图匹配整行,例如:

一行字和空格sabc

你可以做:

^.*abc$
其中,
^
匹配行首,
$
匹配行尾

但是如果你在一行中匹配单词,例如

尝试匹配此ABC和此ABC,但不匹配此ABCD

您必须执行以下操作:

\w*abc(?!\w)

这意味着,匹配任意数量的连续字符,后跟abc,然后再匹配除字符以外的任何字符(例如空格或行尾)。

如果您想要一个以abc结尾的4个字符的字符串,请使用,
/^.abc$/

您实际上不需要
*
正确。这取决于他是否想做的不仅仅是检查字符串——也许在匹配之后做些什么。保留
*
,它将“消耗”它之前的所有字符(即它们将是“匹配”的一部分);删除它,只有
abc
将被“匹配”@nico:这取决于搜索模式。使用正则表达式搜索(Python:
re.search(“abc$”,“bla abc”)
),您不需要
*
,而是使用“匹配”(Python:
re.match(“abc$”,“bla abc”)
)你需要它,因为正则表达式库试图从一开始就匹配字符串。我一直在寻找正则表达式的基本指南,这看起来是一个方便的参考+1我想我找到了答案:^.*abc\z“
$
\Z
之间的区别在于
$
将匹配行尾。如果字符串中有回车符,它将在回车符之前匹配
\Z
将匹配字符串的结尾,无论它是否有回车符。请准确地发布您要查找的内容以及您希望失败的字符串。不要低估理解如何使用正则表达式的价值,但如果您确实有一个字符串对象,并且您想知道它是否以“abc”结尾,您可以使用字符串实例方法
.EndsWith(“abc”)
——这个站点非常有助于尝试regex并测试它。并且在右下角有参考。我认为你的答案代表了用户想要的。。。使用\w参数,您将捕获以abc结尾的任何单词。