我試圖驗證用於重命名的模式。 用戶將填補值,如:使用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;}' –