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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

正則表達(dá)式查找任何語(yǔ)言的所有方法調(diào)用

正則表達(dá)式查找任何語(yǔ)言的所有方法調(diào)用

開(kāi)心每一天1111 2023-04-26 14:30:27
我需要一個(gè)正則表達(dá)式,它將匹配給定字符串中的所有方法調(diào)用。示例輸入和輸出:method1("key") // outputs method1method1("key").method2("key") // outputs method1, method12method1(method2.key()) // outputs method1, method2我嘗試了以下代碼,String line = "public String = method1(\"param\")";private static Pattern methodCalls = Pattern.compile("[a-zA-Z]+\\([^\\)]*\\)(\\.[^\\)]*\\))?");Matcher mc = methodCalls.matcher(line);while (mc.find()) {   System.out.println(mc.group(0)); // expected method1}它僅適用于類型method1("key")函數(shù)。
查看完整描述

2 回答

?
GCT1015

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超4個(gè)贊

您不能同時(shí)提取和驗(yàn)證。道理很簡(jiǎn)單:方法調(diào)用包括dyck-languages,而dyck-languages不是正則的,因此你不能通過(guò)正則表達(dá)式來(lái)驗(yàn)證一些類似dyck的字符串。

但是,如果您已經(jīng)知道語(yǔ)法是正確的,則可以通過(guò)以下正則表達(dá)式提取所有方法名稱:

([^\W:.,()\s]+)\s*\(|::([^W:.,()\s]+)

筆記:

  • 為了便于閱讀,我包括了換行符。如果您將它們包含在您的正則表達(dá)式中,它將不起作用。請(qǐng)將正則表達(dá)式寫(xiě)成一行。

  • 如果要在 Java 中使用正則表達(dá)式,則需要對(duì)\es 進(jìn)行轉(zhuǎn)義)

regex101 example?Ideone example


查看完整回答
反對(duì) 回復(fù) 2023-04-26
?
FFIVE

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊

此模式在您的問(wèn)題中找到 3 個(gè)方法調(diào)用示例 - 只有 3 個(gè)示例

private static Pattern methodCalls = Pattern.compile("\\w+[(](?:\"\\w+\"|\\w+\\.\\w+[(][)])[)](?:\\.\\w+[(]\"\\w+\"[)])?");


查看完整回答
反對(duì) 回復(fù) 2023-04-26
  • 2 回答
  • 0 關(guān)注
  • 139 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)