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

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

Go 中跨越多行的正則表達(dá)式

Go 中跨越多行的正則表達(dá)式

Go
收到一只叮咚 2023-06-01 14:06:16
在 Go 中是否可以使用多行來(lái)打破復(fù)雜的正則表達(dá)式?創(chuàng)建更具可讀性的代碼會(huì)有很大幫助。例如在 Scala、Ruby、JavaScript 中可以使用x標(biāo)志:x — Free-spacing and line comments (aka extended mode)它允許編寫正則表達(dá)式,如:  TAXON_CONCEPTS2 = /\s+                      (\(?s\.\s?s\.|                      \(?s\.\s?l\.|                      \(?s\.\s?str\.|                      \(?s\.\s?lat\.|                     sec\.|sec|near)\b.*$/x我想在 Go 中實(shí)現(xiàn)類似的代碼而不是:var taxonConceptsRe2 = regexp.MustCompile(`(,\s*|\s+)(\(?s\.\s?s\.|\(?s\.\s?l\.|\(?s\.\s?str\.|\(?s\.\s?lat\.).*$`)
查看完整描述

2 回答

?
守著星空守著你

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

您有幾個(gè)選項(xiàng)可以提高像這樣的正則表達(dá)式的可讀性。


拆分字符串:


pattern := `(,\s*|\s+)` +

    `(\(?s\.\s?s\.|` +

    `\(?s\.\s?l\.|` +

    `\(?s\.\s?str\.|` +

    `\(?s\.\s?lat\.).*$`

預(yù)解析字符串:


pattern := strings.Replace(`\s+

                 (\(?s\.\s?s\.|

                 \(?s\.\s?l\.|

                 \(?s\.\s?str\.|

                 \(?s\.\s?lat\.|

                sec\.|sec|near)\b.*$`,

        "\n                ", "", -1)

如果您選擇這種方法,您可能希望構(gòu)建一個(gè)函數(shù)來(lái)為您執(zhí)行此操作,并且更加健壯。


不要使用正則表達(dá)式。(顯然并不總是理想的,但正則表達(dá)式經(jīng)常被過度使用,所以如果有意義的話就這樣做吧。)


查看完整回答
反對(duì) 回復(fù) 2023-06-01
?
慕少森

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

使用 + 布局看起來(lái)稍微好一點(diǎn),至少拆分了正則表達(dá)式


var taxonConceptsRe2 = regexp.MustCompile(

    `(,\s*|\s+)(\(?s\.\s?s\.|` +

        `\(?s\.\s?l\.|` +

        `\(?s\.\s?str\.|` +

        `\(?s\.\s?lat\.).*$`)


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

添加回答

舉報(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)