C#如何将文本框文本用作Regex OR String

时间:2013-04-08 15:46:48

标签: c# regex

我有一个用户可以指定提示的应用程序......可能是Regex类型或字符串类型。

用户有一个复选框,如果他勾选复选框,则提示var将是一个字符串类型,如果不是,则检查将是一个正则表达式。

然后我需要能够在程序的后面引用它。

所以我想知道如何定义......

目前我有以下内容:

textbox1.text = "\[.*@.*\][\$|\#]"  < --- that is a Regex 

或者它可能是这样的:

textbox1.text = "#$"                < --- that would be a regular string...

在我的应用中的某处我需要使用该信息...

string userPrompt:
string rootPrompt;

if (userPromptIsText)
{
    userPrompt = textBoxp4RegPrompt.Text.Trim();
}
else
{
    // here how do I say that userprompt is a regex type?
} 

1 个答案:

答案 0 :(得分:1)

看起来您应该将输入的正则表达式存储在字符串变量“userPrompt”中,而不是存储在Regex中,以便您可以使用它:

System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(textBoxp4RegPrompt.Text.Trim());

然后你可以使用正则表达式变量来执行匹配:

System.Text.RegularExpressions.Match results = regex.Match(stringToTest);  
MessageBox.Show(results.Groups[0].Value);
MessageBox.Show(results.Groups[1].Value);