什么是* abc的正则表达式?

时间:2010-10-26 17:45:06

标签: c# .net regex

我正在尝试使用正则表达式来查明一个字符串是否与* abc匹配 - 换句话说,它是以“abc”完成的任何内容开头的吗?

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

7 个答案:

答案 0 :(得分:8)

abc$

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

答案 1 :(得分:4)

.*abc$

应该这样做。

答案 2 :(得分:4)

所以你这里有一些“鱼”,但 here's how to fish

  • 在线表达式库和基于.NET的测试器:RegEx Library
  • 基于Ruby的在线测试人员(比.NET更快)Rubular
  • 用于测试展示的Windows应用程序(功能最齐全,但没有零宽度前瞻或后退)RegEx Coach

答案 3 :(得分:1)

请改为尝试:

.*abc$

$匹配行尾。

答案 4 :(得分:1)

^.*abc$

将捕获以abc结尾的任何行。

答案 5 :(得分:1)

这取决于你究竟在寻找什么。如果你想匹配整行,比如:

  

包含单词和spacesabc的行

你可以这样做:

^.*abc$

^匹配行的开头,$结束。

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

  

尝试匹配thisabc和thisabc但不是thisabcd

您必须执行以下操作:

\w*abc(?!\w)

这意味着,匹配任意数量的连续字符,然后是abc,然后是但是一个字符(例如空格或行尾)。

答案 6 :(得分:0)

如果你想要一个4个字符的字符串,以abc use结尾,/^.abc$/