我想将regex选项作为用户输入,我使用复选框来获取输入,如下所示:
[ ]IngoreCase
[ ]Multiline
[ ]Sigleline
[ ]RightToLeft
等
我的问题是我如何根据用户选择的选项传递参数(RegexOptions)。
谢谢,
阿米特
答案 0 :(得分:3)
string[] names = Enum.GetNames(typeof(RegexOptions));
从字符串返回到枚举
var option = (RegexOptions)Enum.Parse(typeof(RegexOptions), "IgnoreCase");
答案 1 :(得分:3)
当您使用这些选项时,将它们“或”组合成一个值。在正则表达式调用中的1语句中没有必要这样做,你可以使用类似的东西:
var options = RegexOptions.None;
if (checkBoxIgnoreCase.Checked) options = options | RegexOptions.IgnoreCase;
if (checkBoxMultiLine.Checked) options = options | RegexOptions.MultiLine;
// etc.
并在options
中使用Regex.Match
值。