【发布时间】:2018-05-23 00:30:44
【问题描述】:
我实际上有这种情况,我必须验证是否存在重叠模式(可能是正则表达式或其他)。
string pattern = "123*"
string[] patterns = new string[] { "123?", "123*", "12?", "*23*" }
我相信从这里重叠的匹配是"123?"、"123*"和"*23*"
对于任何尾随字符,通配符将被限制为 "*" 和/或对于任何 1 长度的 "?"
顺便说一句,这是出于数字格式的目的,因此也有可能在数字模式/格式中包含文字破折号(最多)。
这可以用正则表达式或其他方法完成吗?如果可能的话,在 C# / Javascript 中。
请对我错过的任何信息发表评论。
TIA
【问题讨论】:
-
您好,我无法获得您想要实现的目标。请详细说明。
-
我认为您需要指定要涵盖多少语法;如果我们限制在
?*.是可行的,但如果你进入复杂的前瞻和捕获组等,这将很难甚至不可能。 -
@KenY-N 嗨,肯尼,我认为我仅限于数字,例如 8 位数字或带有破折号的数字格式,所以是的,对于通配符和我安静地限制的东西星号和问号表示长度
-
?在12?中是什么意思? -
@revo 我刚刚进行了编辑,希望它能进一步解决问题
标签: javascript c# regex pattern-matching