C# abc的正则表达式是什么?
我试图使用正则表达式来确定字符串是否匹配*abc-换句话说,它以任何东西开头,但以“abc”结尾 这个的正则表达式是什么? 我尝试了*abc,但“Regex.Matches”对xxabc返回true,这不是我想要的。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$
$与行的末尾匹配
^.*abc$
将捕获以abc结尾的任何行。因此这里有一些“鱼”,但是
- 在线表达式库和基于.NET的测试仪:
- 基于Ruby的在线测试仪(比.NET更快)
- 用于测试Expressions的windows应用程序(功能最全,但没有正面或背面的零宽度外观)
^.*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结尾的任何单词。