簡體   English   中英

在\\ x十六進制正則表達式模式中使用變量

[英]Using a variable in a \x hex regular expression pattern

我嘗試按字節值分割一些String。 就像“第一個\\ x00秒”由0x00分隔符表示。 我發現編譯器無法將\\ x令牌與變量結合在一起。

static public ArrayList split_by_byte(String value, byte spliter) {

if (spliter < 0)
throw new IllegalArgumentException("Отрицательное значение разделителя: " + spliter);

ArrayList<String> result = new ArrayList();

String[] groups = value.split("[\\x" + spliter + "]");

for (String group : groups) {

result.add(group);
}

return result;
}

如何在\\ xNN之類的模式中使用變量值?

在正則表達式中,不能在單引號/非插值字符串中使用\\ x。 它必須由詞法分析器看到。

因為代字號不是元字符。

添加使用正則表達式“調試”,您將看到實際發生的情況。

您還可以使用模式和匹配器類以及拆分方法...

暫無
暫無

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

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