如何精确匹配边界内的一个或多个字符

时间:2018-07-21 10:34:43

标签: c# regex

当前,我正在使用以下模式:[HelloWorld]{1,}。 因此,如果我的输入是:Hello->将匹配。 但是如果我输入的是WorldHello->仍然匹配但不正确。 那么如何使输入字符串必须与模式中的值完全匹配?

4 个答案:

答案 0 :(得分:0)

只需除去方括号和逗号,您就可以使用了!

HelloWorld{1}

答案 1 :(得分:0)

在正则表达式中,方括号之间是一个字符集。

因此[HelloWorld]匹配集合[edlorHW]中的1个字符。
并且.{1,}.+都匹配1个或更多字符。

您可能想要的是字面意思。
因此,正则表达式将简单地为"HelloWorld"
它将匹配字符串“ blaHelloWorldbla”中的HelloWord。

如果您想让单词成为一个单词,而不是单词的一部分? 然后,您可以使用单词边界\b,它指示单词字符(\w = [A-Za-z0-9_])和非单词字符(\W = [^A-Za-z0-9_])之间的过渡或行^的开始或$行的结尾。

例如@"\bHelloWorld\b"可以从“ bla HelloWorld bla”获得比赛,而不能从“ blaHelloWorldbla”获得比赛。

请注意,这次的正则表达式字符串以@开头。
因为到using a verbatim string,反斜杠不必反斜杠。

答案 2 :(得分:0)

似乎您需要使用在线正则表达式测试器网站来检查您的模式。例如,您可以找到其中之一here,还可以研究c#正则表达式参考here

答案 3 :(得分:0)

尝试以下模式:

[a-zA-Z]{1,}

您可以online对其进行测试

enter image description here