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