我想寫一個函數validate()
它將採取一些模式或正則表達式作爲參數,並會要求用戶輸入它的選擇。如果選擇符合模式,它將返回選擇,否則它會要求用戶重新輸入選擇。輸入模式匹配java
例如,如果我打電話validate()
與123
作爲參數,它將返回要麼1
或2
或3
取決於用戶輸入。
但我不知道如何使用模式或正則表達式。請幫忙。
我寫了一些代碼,但我不知道在幾個地方寫什麼。 我想要下面寫的驗證函數接受輸入1或2或3並返回相同。
import java.io.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
class Pat
{
public static void main(String args[])
{
int num=validate(Pattern.compile("123"));//I don't know whether this is right or not
System.out.println(num);
}
static int validate(Pattern pattern)
{
int input;
boolean validInput=false;
do
{
try
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
input=Integer.parseInt(br.readLine());
validInput=true;
}catch(Exception e)
{
System.out.println(""+e);
}
}while(!validInput || input.matches(pattern));// This also seems like a problem.
return input;
}
}
您是否閱讀過文檔? – Oded 2011-04-22 18:58:18
http://www.regular-expressions.info/java.html - 良好的指導 – nsfyn55 2011-04-22 18:59:27
我已閱讀它。但我不知道如何實施它。 – 2011-04-22 19:01:32