我的正则表达方式有什么问题?

时间:2018-03-16 00:01:03

标签: javascript

我有我的下一个正则表达式,但是当我使用它时,它没有做它应该做的事情:

    Form hi = new Form("Hi World", new BorderLayout(BorderLayout.CENTER_BEHAVIOR_TOTAL_BELOW));

    disableToolbar(hi);

    introVideoMP4 = "/intro-landscape.mp4";
    if (Display.getInstance().isPortrait()) {
        introVideoMP4 = "/intro-portrait.mp4";
    }
    MediaPlayer introVideo = new MediaPlayer();
    try {
        InputStream videoInputStream = Display.getInstance().getResourceAsStream(getClass(), introVideoMP4);
        introVideo.setDataSource(videoInputStream, "video/mp4", () -> {
            introVideo.getMedia().setTime(0);
            introVideo.getMedia().play();
        });
        introVideo.setHideNativeVideoControls(true);
        introVideo.hideControls();
        introVideo.setAutoplay(true);
        hi.add(BorderLayout.CENTER, introVideo);
    } catch (Exception err) {
        Log.e(err);
    }

    hi.addOrientationListener(l -> {
        introVideoMP4 = "/intro-landscape.mp4";
        if (Display.getInstance().isPortrait()) {
            introVideoMP4 = "/intro-portrait.mp4";
        }
        try {
            InputStream videoInputStream = Display.getInstance().getResourceAsStream(getClass(), introVideoMP4);
            introVideo.setDataSource(videoInputStream, "video/mp4", () -> {
                introVideo.getMedia().setTime(0);
                introVideo.getMedia().play();
            });
        } catch (Exception err) {
            Log.e(err);
        }
    });
    hi.add(BorderLayout.NORTH, new Label("My App"));
    Button myButton = new Button("Tap me!");
    myButton.addActionListener(l -> {
        Log.p("myButton tapped");
    });
    hi.add(BorderLayout.SOUTH, myButton);
    hi.show();

link:https://regex101.com/r/UVzc1U/3

我希望匹配是动态的,因为我想捕获会计账户的路线,例如:

(([0-9]){1,}\.{0,1}){0,}

1 个答案:

答案 0 :(得分:0)

您可能会发现使用split()更容易(例如'6.5.6'.split('.')返回["6", "5", "6"]),然后测试每个值是数字value.test(/[0-9]+/)。这适用于像#00; 005'并且没有任何奇怪的事情(包括空字符串'')。