我正在使用c#工作和一个有趣的项目,现在我的RegEx出了问题.我尝试了一些变形但没有找到解决方案.我想要这个字符串的RegEx"##Test1##".
所以我在这里试过这个RegEx:
[\#]{2}[a-zA-Z0-9]{1,}[\#]{2}
Run Code Online (Sandbox Code Playgroud)
它的工作正常,但我的问题是,
当传递"###Test1###"RegEx忽略第一个和最后一个#匹配内部"##Test1##".
但我不想那样.
在正则表达式应该只匹配这个字符串##Test1##.
希望有些人可以帮我解决这个问题.
问候,
如果正则表达式应该只匹配您指定的字符串,那么这是您的正则表达式:
^##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)
这两个将确保您不是在搜索字符串以查看您的模式是否存在于其中,而是检查字符串是否完全匹配该模式.