我想匹配字符串与通配符(*),其中通配符表示"任何".例如:
*X = string must end with X
X* = string must start with X
*X* = string must contain X
Run Code Online (Sandbox Code Playgroud)
此外,一些复合用途,如:
*X*YZ* = string contains X and contains YZ
X*YZ*P = string starts with X, contains YZ and ends with P.
Run Code Online (Sandbox Code Playgroud)
有一个简单的算法来做到这一点?我不确定使用正则表达式(虽然这是一种可能性).
为了澄清,用户将在上面输入一个过滤器框(尽可能简单的过滤器),我不希望他们自己编写正则表达式.所以我可以很容易地从上面的符号转换出来的东西会很好.
.NET中是否有内置机制来匹配正则表达式以外的模式?我想使用UNIX样式(glob)通配符匹配(*=任何数字的任何字符).
我想将它用于面向最终用户的控件.我担心允许所有RegEx功能会非常混乱.
我刚刚开始使用Regular Expressions,这是如此的压倒性,即使阅读文档后,我似乎无法找到从哪里开始帮助解决我的问题.
我需要一堆字符串.
"Project1 - Notepad"
"Project2 - Notepad"
"Project3 - Notepad"
"Untitled - Notepad"
"HeyHo - Notepad"
Run Code Online (Sandbox Code Playgroud)
我有一个包含外卡的字符串.
"* - Notepad"
Run Code Online (Sandbox Code Playgroud)
如果我将这些字符串中的任何一个与包含通配符的字符串进行比较,我将需要它返回true.(有Regex.IsMatch()或类似的......)
我通常不会要求这样的答案,但我找不到我需要的东西.有人可以指出我正确的方向吗?
当我解析文本文件中的行时,我想检查一行是否包含 abc*xyz,*通配符在哪里.abc*xyz是用户输入格式.