我试图验证用于重命名的模式。 用户将填补值,如:使用RegEx验证重命名模式
%1% - %3%%2%
我能匹配正则表达式,一切都很好:
[^%]*(%[\d]+%)+[^%]*
但在此之前,我想验证字符串,并能够找到当用户做出类似错误:
%1% - %3%2%
%1% - %3%%2
...
无论我尝试,我可以得到修正值,但我不知道是否该字符串格式与否。只能手动检查。 有没有用正则表达式来解决这个问题的方法?或者,也许我并不需要为这个正则表达式...
编辑澄清
对于一个很好的例子,只是把它重命名你的MP3文件的程序。 您为艺术家定义%1%和曲目标题%2%之间的映射...
对不起,我的错误是只提供一个字符串。但用户可以提交:
%1% - %3%%2%
%1%_%2%%3%
%1%%3% %2%
...
无论他想要什么。如果一切正确,我的目标就是解析字符串,这对我来说似乎很好。除非我找到一个棘手的坏例子。 但在此之前我保存它,我想验证和拒绝的字符串,就像
%1% - %3%%2
我的问题是要找到错误的值。我所做的,似乎对我来说不干净,是使用我的正则表达式,然后验证在字符串中找到的“%”的总数是否为偶数,如果这个总数除以2等于找到的组的总数。但我不知道它总是有效(不知道我的最后一句话是否清楚)
分享你的研究可以帮助每个人。告诉我们你试过了什么,以及它为什么不符合你的需求。这表明你已经花时间去尝试帮助自己,它使我们避免重申明显的答案,最重要的是它可以帮助你得到更具体和相关的答案!另见:[问] –
我不明白你的问题。您的正则表达式匹配(即字符串格式良好的替换模式)或不匹配(字符串不是格式良好的替换模式)。哪里有问题? –
'if(Regex.IsMatch(s,@“\ A%[0-9] +% - %[0-9] + %% [0-9] +%\ z”)){return true;}' –