-7

我正在做一个 Windows 窗体应用程序来搜索文件中的单词,但我遇到了匹配符号“。”的问题。,正则表达式的模式是从文本框中设置的,但每当我输入“。” 它匹配文件内容中的整个文本。我只想匹配符号“。” 所以我该怎么做 ?

4

7 回答 7

7

使用以下命令转义\

Regex.Match(textBox.Text, @"\.");

"\" 将下一个字符标记为特殊字符或转义文字。例如,“n”匹配字符“n”。"\n" 匹配换行符。序列“\\”匹配“\”,“\(”匹配“(”。

资源

于 2013-05-29T12:06:12.597 回答
2

\.在您的模式字符串中使用。

于 2013-05-29T12:06:46.567 回答
1

更一般地,调用Regex.Escape. string处理您忽略的其他情况。

虽然其他答案(到目前为止)解释了如何 escape ".",但此方法将处理所有其他潜在的障碍,例如转义字符"\"本身。

于 2013-05-29T12:09:56.837 回答
0

您可以使用 Regex.Escape(".")
试试这个,这可以用于所有其他转义符号,例如 [ , ] , \ 等。

于 2013-05-29T12:47:32.350 回答
0

正则表达式使用 '\' 字符来允许特殊字符。

看看这个以获取更多信息:

于 2013-05-29T12:08:21.793 回答
0

在正则表达式'.'中有一个特殊的含义——匹配任何东西!试着像\.在你的表达中一样逃避它。

MatchCollection match = Regex.Matches(entireText, @"alphabet\.");
于 2013-05-29T12:08:55.033 回答
0

在正则表达式中,.是匹配任何字符的特殊字符。要匹配一个点,您应该使用反斜杠 ( \) 对其进行转义。其他保留字符也是如此,例如$, (, ), [,]^

所以,你的正则表达式应该是\.而不仅仅是..

于 2013-05-29T12:11:16.767 回答