我寫了下面的Java代碼:Java進行ICD代碼正則表達式doesn't工作
public void test(final String myString){
final String rule = "^[A-Z]\\d{2}(\\.\\d){0,2}$";
final Pattern pattern = Pattern.compile(rule);
final Matcher matcher = pattern.matcher(myString);
if(!matcher.matches()){
System.out.println("Failure, the String" + myString + " is not valid!");
}
}
正則表達式應該通過有效的下列字符串:
[character are required][number are required][number are required][point is optional][number is optional][number is optional]
是很重要的,那如果在字符串中聲明瞭一個點,則必須至少有一個數字!
我的解決方法僅適用於
的Java的Java像這些被允許像J45或J45.9字符串:
D99
M00.0
M01.6
J98.3
T05.0
M96.81
D68.20
Java字符串像這些都是不允許的:
9D.0
6G
7H.
M96.811
J234.82
G687.1
GU87.11
如何我可以通過在Java中使用正則表達式來解決此問題?
我認爲你沒有提供所有的測試用例,或者你的* [point是可選的] [number是可選的] [number是可選的] *規則不正確,因此,在我的an swer。 –