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