我有一个Word文档,其中包含一些机密信息,例如:它有NIC:343434343。
我需要一个正则表达式,它能够执行以下操作:
如果在某一行中找到NIC,则应该用指定的文本替换整行。
默认情况下,点号不匹配换行符,因此您可以简单地使用
.*NIC.*
要查找包含“NIC”的行。您可以使用以下表达式:
string result = Regex.Replace(originalString, ".*NIC.*", "replacement string");
你可以在ideone.com上看到它的工作情况。
^.*NIC.*$
^
表示匹配行的起始位置,$
表示匹配行的结束位置。如果一行中至少出现一次 "NIC",则整行都会被匹配。
^
和 $
只匹配整个字符串的开头和结尾,除非指定了 RegexOptions.Multiline。 - Jens使用这个正则表达式:(?m-i)^.*?NIC.*$
。它启用多行选项并禁用忽略大小写选项。