在.net中增加了移除RegEx选项
本文关键字:RegEx 选项 net 增加 | 更新日期: 2023-09-27 18:14:59
我想把正则表达式选项作为用户的输入,我使用复选框来接受输入,它看起来像下面的东西:
[ ]IngoreCase
[ ]Multiline
[ ]Sigleline
[ ]RightToLeft
等。
我的问题是如何通过参数(RegexOptions)根据用户选择的选项。
谢谢,
Amit
当您使用这些选项时,您将它们"OR"到一个单独的值。不需要在regex调用中的一条语句中这样做,您可以使用以下内容:
var options = RegexOptions.None;
if (checkBoxIgnoreCase.Checked) options = options | RegexOptions.IgnoreCase;
if (checkBoxMultiLine.Checked) options = options | RegexOptions.MultiLine;
// etc.
并在您的Regex.Match
中使用该options
值
使用Enum。getname
string[] names = Enum.GetNames(typeof(RegexOptions));
和从string返回到enum
var option = (RegexOptions)Enum.Parse(typeof(RegexOptions), "IgnoreCase");