【发布时间】:2013-01-30 13:34:57
【问题描述】:
我想检查我的字符串变量是否包含特定的正则表达式模式
xxx-xx-x
(x 是数值)使用 c#。如果它包含,那么我需要返回 true 或 false。
谁能帮我解决这个问题..
【问题讨论】:
-
能否请您向我们展示一下您到目前为止所做的尝试?
-
“包含”到底是什么意思? “123”包含“2”,对吧?
我想检查我的字符串变量是否包含特定的正则表达式模式
xxx-xx-x
(x 是数值)使用 c#。如果它包含,那么我需要返回 true 或 false。
谁能帮我解决这个问题..
【问题讨论】:
使用Regex.IsMatch()返回的值。
Regex regex = new Regex("[0-9]{3}-[0-9]{2}-[0-9]");
bool containsPattern = regex.IsMatch(stringToVerify);
【讨论】:
111-22-345 或 111-22-3-33
这是您要查找的正则表达式
\b\d{3}-\d{2}-\d\b
\b 是一个边界..如果你不使用它,你也会匹配 111-22-345 或 111-22-3-33 我猜你不想匹配
【讨论】:
_111-22-3_或ABD111-22-3 xyz。
using System.Text.RegularExpressions;
public static bool ControlRegex(string input)
{
Match match = Regex.Match(input, @"([A-Za-z0-9\-]+)",RegexOptions.IgnoreCase);
if (match.Success)
{
return true;
}
}
您可以尝试这样的事情...您必须将正确的正则表达式放在 Regex.Match 的第二参数...
您可以使用正则表达式程序找到正确的正则表达式。例如“RegEx TestBed”,您可以从这里下载; http://regextestbed.codeplex.com/releases/view/60833 使用此程序,您将文本放在文本区域中,并在模式区域中尝试找到正确的正则表达式。下面,在列表区域中,程序会根据您的正则表达式向您显示匹配项,因此您可以尝试找到正确的正则表达式...
【讨论】: