我想用通配符(*)匹配字符串,其中通配符表示“ any”。例如:
*X = string must end with X
X* = string must start with X
*X* = string must contain X
另外,一些复合用途例如:
*X*YZ* = string contains X and contains YZ
X*YZ*P = string starts with X, contains YZ and ends with P.
有一个简单的算法可以做到这一点吗?我不确定使用正则表达式(尽管有可能)。
为了清楚起见,用户将在上面的过滤器框中键入内容(尽可能简单的过滤器),我不希望他们自己编写正则表达式。因此,我可以轻松地从上述表示形式进行转换将是一件好事。
YZ ABC X
匹配*X*YZ*
,即子字符串是否需要以相同的顺序出现在字符串和模式中?我以为它不应该匹配,但是“字符串包含X且包含YZ”并不清楚。如果应该匹配,则当前所有答案都是错误的。