new Regex(@"\n|\r|\\|<|>|\*|!|\$|%|;");
我上面有一个正则表达式示例,但我无法真正理解要查找的内容?谁能帮帮我?
正则表达式匹配由交替运算符分隔的字符之一|。有一些特殊字符(例如\nor\r用于换行符和回车,或\$用于文字美元符号和\*文字星号,因为$and*是正则表达式元字符),但除此之外,它非常简单。
也就是说,为了匹配有效字符列表中的单个字符,字符类通常是更好的选择,这不仅是因为不需要转义元字符:
new Regex(@"[\n\r\\<>*!$%;]");
它会尝试匹配列出的任何特殊字符:\n, \r, \, <, >, *, !, $,是%正|则表达式 OR 运算符。
有些字符需要额外转义,\因为它们在正则表达式语言中具有含义(\, $, ...)
|在正则表达式中是一个交替运算符。A|B表示匹配A或匹配B。它也可以使用字符类来编写——[AB]这也意味着同样的事情。
使用字符类的好处是,您不需要在其中转义正则表达式元字符,而您必须在外部进行转义,就像对*. 因此,您的正则表达式可以缩短为:
new Regex(@"[\n\r\\<>*!$%;]");