RegEx匹配字符串

Fri*_*lin 0 c# regex

我正在使用c#工作和一个有趣的项目,现在我的RegEx出了问题.我尝试了一些变形但没有找到解决方案.我想要这个字符串的RegEx"##Test1##".

所以我在这里试过这个RegEx:

[\#]{2}[a-zA-Z0-9]{1,}[\#]{2}
Run Code Online (Sandbox Code Playgroud)

它的工作正常,但我的问题是,
当传递"###Test1###"RegEx忽略第一个和最后一个#匹配内部"##Test1##".

但我不想那样.

正则表达式应该只匹配这个字符串##Test1##.

希望有些人可以帮我解决这个问题.
问候,

ang*_*son 6

如果正则表达式应该匹配您指定的字符串,那么这是您的正则表达式:

^##Test1##$
Run Code Online (Sandbox Code Playgroud)

如果你想让它匹配一个字符串"##(any digit or letter here)##",那么这将工作:

^##[a-zA-Z0-9]+##$
Run Code Online (Sandbox Code Playgroud)

这将匹配字符串

##abc##
##123##
Run Code Online (Sandbox Code Playgroud)

但不是

###xxx###     <-- 3 #'s
Run Code Online (Sandbox Code Playgroud)

我认为你在这里寻找的主要部分是这两个符号:

+------------------- matches the beginning of the string
|                +-- matches the end of the string
v                v
^##[a-zA-Z0-9]+##$
Run Code Online (Sandbox Code Playgroud)

这两个将确保您不是在搜索字符串以查看您的模式是否存在其中,而是检查字符串是否完全匹配该模式.