第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

為什么 String.replaceAll() 在 Java 8 和 Java 9 中的工作方式

為什么 String.replaceAll() 在 Java 8 和 Java 9 中的工作方式

阿晨1998 2022-07-14 17:33:47
為什么此代碼02輸出java-8但o2在java-9或以上?"o2".replaceAll("([oO])([^[0-9-]])", "0$2")
查看完整描述

1 回答

?
森欄

TA貢獻1810條經驗 獲得超5個贊

很可能是由于JDK-6609854JDK-8189343報告了負嵌套字符類處理(在您的示例中[^[0-9-]])。此行為已在 9 和 10 中修復,但未將修復向后移植到 8。Java 8 的錯誤解釋為:

在 Java 中,否定不適用于出現(xiàn)在嵌套中的任何內容[brackets]

如您所料,因此[^c]與“c”不匹配。

[^[c]]匹配“c”。不是我所期望的。

[[^c]]不匹配“c”

范圍或屬性表達式也是如此 - 如果它們在括號內,則輸出級別的否定不會影響它們。

[^a-z][^[a-z]]


查看完整回答
反對 回復 2022-07-14
  • 1 回答
  • 0 關注
  • 102 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

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

公眾號

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