c#如何使用文本框文本作为正则表达式或字符串

本文关键字:文本 正则表达式 字符串 何使用 | 更新日期: 2023-09-27 18:07:59

我有一个应用程序,用户可以指定一个提示符…可以是正则表达式类型,也可以是字符串类型。

用户有一个复选框,如果他选中了复选框,提示变量将是一个字符串类型,如果没有选中,将是一个正则表达式。

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

所以我想知道如何定义…

目前我有以下内容:

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?
} 

c#如何使用文本框文本作为正则表达式或字符串

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

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

然后你可以使用regex变量来执行匹配:

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