字符串模式在Java中不匹配

时间:2014-10-29 10:01:33

标签: java regex

我想在Android Java中验证此NIC号码。

NICs=NIC.getText().toString();
if((nameS.equals("")||NICs.equals(""))||!(NICs.matches("/^[0-9]{9}[vVxX]$/")))
{
    AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
            this);

        // set title
        alertDialogBuilder.setTitle("Warning!");

        // set dialog message
        alertDialogBuilder
            .setMessage("Please fill the above feilds !")
            .setCancelable(false)

            .setNegativeButton("OK",new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog,int id) {
                    // if this button is clicked, just close
                    // the dialog box and do nothing
                    dialog.cancel();
                }
            });

我的网卡=“896201328V” 但它说NIC与给定的模式不匹配。

1 个答案:

答案 0 :(得分:2)

从代码中删除refex分隔符/,因此请使用:

NICs.matches("[0-9]{9}[vVxX]")

而不是:

NICs.matches("/^[0-9]{9}[vVxX]$/")

PS: String#matches方法中也不需要锚点。