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

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

為 ${n} 類型和 {{coinsadded}} 類型的變量創建單一模式,以便可以在字符串中找到它

為 ${n} 類型和 {{coinsadded}} 類型的變量創建單一模式,以便可以在字符串中找到它

30秒到達戰場 2022-03-10 19:25:43
我有不同類型的正則表達式,它們可以出現在字符串中。例如:1. ${n}2. {{coinsAdded}}3. ${coinsAdded}, etc.我必須創建一個模式,以便我可以找到字符串中存在的所有類型的正則表達式。有人可以嘗試幫助我。我已經創建了一種模式 -\$\\{[a-zA-Z]*+\\}但這只能滿足我對 1 和 3 之類的正則表達式的需求,但對于 2 卻失敗了。
查看完整描述

2 回答

?
紅顏莎娜

TA貢獻1842條經驗 獲得超13個贊

更新感謝@Spara 指出丟失

(?:\${)[a-zA-Z]+(?:})|(?:\${{)[a-zA-Z]+(?:}})|(?:{{)[a-zA-Z]+(?:}})

演示

你可以試試這個

\$?{{?[a-zA-Z]*}}?

解釋

  • \$?- 將匹配$?使其可選)。

  • {{?- 將匹配{{{

  • [a-zA-Z]*- 將匹配從 a 到 z 零次或更多次的任何字符。

  • }}?- 將匹配}}}

演示


查看完整回答
反對 回復 2022-03-10
?
達令說

TA貢獻1821條經驗 獲得超6個贊

我能想到的最簡單的 * 正則表達式是:


\\$?(\\{[a-zA-Z]+}|\\{\\{[a-zA-Z]+}})

* 在“最容易理解”的意義上,而不是在“最緊湊”的意義上。


\\$?匹配一個可選的$. 之后,遵循以下\\(之一:

\\{[a-zA-Z]+},即使用一對 的正則表達式{},

|或者,

\\{\\{[a-zA-Z]+}}使用雙精度的正則表達式{{}}。


測試:


System.out.println("{n}".matches("\\$?(\\{[a-zA-Z]+}|\\{\\{[a-zA-Z]+}})"));

System.out.println("{{coinsAdded}}".matches("\\$?(\\{[a-zA-Z]+}|\\{\\{[a-zA-Z]+}})"));

System.out.println("${coinsAdded}".matches("\\$?(\\{[a-zA-Z]+}|\\{\\{[a-zA-Z]+}})"));

System.out.println("{{{coinsAdded}}}".matches("\\$?(\\{[a-zA-Z]+}|\\{\\{[a-zA-Z]+}})"));

System.out.println("$${coinsAdded}".matches("\\$?(\\{[a-zA-Z]+}|\\{\\{[a-zA-Z]+}})"));

輸出:


真真假假

_

_

_


查看完整回答
反對 回復 2022-03-10
  • 2 回答
  • 0 關注
  • 144 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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