亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用Java使用正則表達式查找更大字符串的子字符串

使用Java使用正則表達式查找更大字符串的子字符串

浮云間 2019-08-27 17:07:13
使用Java使用正則表達式查找更大字符串的子字符串如果我有這樣的字符串:FOO[BAR]我需要一種通用的方法來從字符串中獲取“BAR”字符串,這樣無論方括號之間的字符串是什么,它都能夠獲得字符串。例如FOO[DOG] = DOG FOO[CAT] = CAT
查看完整描述

3 回答

?
侃侃無極

TA貢獻2051條經驗 獲得超10個贊

你應該能夠使用非貪婪的量詞,特別是* ?. 你可能想要以下內容:

Pattern MY_PATTERN = Pattern.compile("\\[(.*?)\\]");

這將為您提供一個與您的字符串匹配的模式,并將文本放在第一組的方括號內。有關更多信息,請查看Pattern API文檔。

要提取字符串,您可以使用以下內容:

Matcher m = MY_PATTERN.matcher("FOO[BAR]");while (m.find()) {
    String s = m.group(1);
    // s now contains "BAR"}


查看完整回答
反對 回復 2019-08-27
?
富國滬深

TA貢獻1790條經驗 獲得超9個贊

非正則表達方式:

String input = "FOO[BAR]", extracted;extracted = input.substring(input.indexOf("["),input.indexOf("]"));

或者,為了更好的性能/內存使用(感謝Hosam):

String input = "FOO[BAR]", extracted;extracted = input.substring(input.indexOf('['),input.lastIndexOf(']'));


查看完整回答
反對 回復 2019-08-27
  • 3 回答
  • 0 關注
  • 730 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號