中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

java正則怎樣進行非貪婪匹配

小樊
81
2024-11-15 08:42:47
欄目: 編程語言

在Java中,正則表達式默認是貪婪匹配的,這意味著它會盡可能多地匹配字符。要實現非貪婪匹配,你需要在量詞(如*+?)后面添加一個問號?,這樣它就會盡可能少地匹配字符。

以下是一個簡單的例子,展示了如何使用非貪婪匹配來匹配字符串中的數字:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class NonGreedyMatching {
    public static void main(String[] args) {
        String input = "The price of the item is $12.34.";
        String regex = "\\$(\\d+\\.\\d{2})";

        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(input);

        if (matcher.find()) {
            System.out.println("Found: " + matcher.group(1)); // 輸出: Found: 12.34
        } else {
            System.out.println("No match found.");
        }
    }
}

在這個例子中,我們使用了非貪婪匹配來捕獲小數點后的兩位數字。正則表達式\\$(\\d+\\.\\d{2})中的\\d+\\.\\d{2}表示匹配一個數字、一個小數點和兩個數字。通過在\\d+后面添加一個問號?,我們使其成為非貪婪匹配,因此它將匹配盡可能少的數字。

0
临邑县| 留坝县| 郎溪县| 广东省| 宝丰县| 桂阳县| 霍邱县| 涟源市| 隆化县| 绵阳市| 宁河县| 松潘县| 龙井市| 中超| 胶南市| 通海县| 江源县| 应城市| 苗栗县| 阳泉市| 巴彦县| 浦县| 中江县| 张家界市| 千阳县| 博客| 双桥区| 新乡县| 吉水县| 莱阳市| 长宁区| 尖扎县| 夏邑县| 稷山县| 梓潼县| 汤阴县| 旬邑县| 绥棱县| 若尔盖县| 宁城县| 灵山县|