我有一個字符串,其中只有數字,沒有一個或多個百分比允許形成一個正則表達式Java字符串
所以我正則表達式是:[\d+%]
,你可以測試它here
爲java的我要改造它,
public static final String regex = "[\\d+\\%]";
,並對其進行測試我使用這個功能
public static final String regex = "[\\d+\\%]";
public boolean validate(String myString){
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(myString);
if (!matcher.matches()) {
return false;
}else{
return true;
}
}
正則表達式是行不通的,另外,如果我使用
public static final String regex = "[\\d+%]";
是否有逃避的Java長正則表達式的任何好的在線工具?
更高級的問題:
只有在字符串中至少有一位數字的情況下才允許使用%,只允許使用%!和:沒有%
數字如果位數正好是8,而不是更少只允許(指:1234567不好,但12345678是好的)
測試用例:
- 壞:
%
,(空字符串),
23b
,-1
,7.5
,%5a
,1
,1234567
- 好:
12345678
,23%
,1%53%53
,%7
什麼是'['和']'?刪除這些,看看它是否有效。 – rolve
'[\ d%] +'表示:數字或百分號,一次或多次。如果你在方括號中加上+,它會被解釋爲一個文字「+」。 +(方括號外)的含義是:以前的事情,一次或多次。 – ignis
你可以在你的問題中添加一些測試用例嗎? – halex