[英]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.