簡體   English   中英

正則表達式匹配單個單詞

[英]Regex match single word

Waht是Java正規表達式,用於僅匹配字符串中的“ pkgName”:

"name=pkgname -path=some.apk -minutes=120"

我努力了:

public static final Pattern PKG_NAME_REGEX = Pattern.compile("(name=)(\\b.+\\b)\\s");

Match的buit組2給我:“ pkgname -path = some.apk -minutes = 120”

謝謝

什么是Java正則表達式, 匹配字符串中的“ pkgName”:

您可以在后面使用積極的表情:

(?<=name=)\S+
  • (?<=name=)為正向后斷言,以斷言先前的職位具有name=
  • \\S+將匹配1個或多個非空格字符

使用Java:

public static final Pattern PKG_NAME_REGEX = Pattern.compile("(?<=name=)\\S+");

正則演示

嘗試這個:

    String s = "name=pkgname -path=some.apk -minutes=120";
    Pattern p = Pattern.compile("name=(\\w+)");
    Matcher m = p.matcher(s);
    if (m.find())
        System.out.println(m.group(1));

按字字符重復點:

"(name=)(\\b\\w+\\b)\\s"

邊界一詞在這里並不實用:

"(name=)(\\w+)\\s"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM