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

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

如何在正則表達式中匹配“直到這個字符序列”的任何內(nèi)容?

如何在正則表達式中匹配“直到這個字符序列”的任何內(nèi)容?

慕哥6287543 2019-07-23 16:07:50
如何在正則表達式中匹配“直到這個字符序列”的任何內(nèi)容?拿這個正則表達式:/^[^abc]/。這將匹配字符串開頭的任何單個字符,a,b或c除外。如果你*在它之后添加- /^[^abc]*/- 正則表達式將繼續(xù)將每個后續(xù)字符添加到結(jié)果中,直到它遇到a a,或 b,或 c。例如,使用源字符串"qwerty qwerty whatever abc hello",表達式將匹配"qwerty qwerty wh"。但是如果我想要匹配的字符串呢? "qwerty qwerty whatever "...換句話說,我怎樣才能匹配到(但不包括)確切序列的所有內(nèi)容 "abc"?
查看完整描述

3 回答

?
函數(shù)式編程

TA貢獻1807條經(jīng)驗 獲得超9個贊

您沒有指定您正在使用哪種正則表達式,但這適用于任何可被視為“完整”的最流行的正則表達式。

/.+?(?=abc)/

這個怎么運作

這 .+? 部分是.+ (一個或多個任何東西)的非貪婪版本 。當我們使用時.+,引擎將基本匹配所有內(nèi)容。然后,如果正則表達式中還有其他內(nèi)容,它將返回嘗試匹配以下部分的步驟。這是 貪婪的行為,意味著盡可能地滿足。

使用時 .+?,引擎將不是一次匹配并返回其他條件(如果有的話),引擎將逐步匹配下一個字符,直到匹配正則表達式的后續(xù)部分(如果有的話)。這是不貪婪的,意味著 盡可能少地滿足。

/.+X/  ~ "abcXabcXabcX"        /.+/  ~ "abcXabcXabcX"
          ^^^^^^^^^^^^                  ^^^^^^^^^^^^

/.+?X/ ~ "abcXabcXabcX"        /.+?/ ~ "abcXabcXabcX"
          ^^^^                          ^

接下來我們有 一個 零寬度斷言, 環(huán)顧四周。此分組構(gòu)造與其內(nèi)容匹配,但不計為匹配的字符(零寬度)。只有在匹配與否時才會返回(斷言)。(?={contents})

因此,在其他方面,正則表達式/.+?(?=abc)/意味著:

匹配任何字符盡可能少,直到找到“abc”,而不計算“abc”。


查看完整回答
反對 回復(fù) 2019-07-23
?
呼喚遠方

TA貢獻1856條經(jīng)驗 獲得超11個贊

如果你想捕捉到“abc”的所有內(nèi)容:

/^(.*?)abc/

說明:

( )使用捕獲的括號內(nèi)的訪問的表達$1,$2等等。

^ 匹配線的開始

.*匹配任何東西,?非貪婪(匹配所需的最小字符數(shù)) - [1]

[1]需要這樣做的原因是,否則,在以下字符串中:

whatever whatever something abc something abc

默認情況下,正則表達式是貪婪的,這意味著它將盡可能匹配。因此/^.*abc/會匹配“無論什么東西abc某事”。添加非貪婪量詞?使得正則表達式只匹配“無論什么東西”。


查看完整回答
反對 回復(fù) 2019-07-23
?
慕容森

TA貢獻1853條經(jīng)驗 獲得超18個贊

正如@Jared Ng和@Issun指出的那樣,解決這種RegEx的關(guān)鍵是“匹配某個單詞或子串的所有內(nèi)容”或“匹配某個單詞或子串后的所有內(nèi)容”稱為“環(huán)視”零長度斷言。在這里閱讀更多相關(guān)信息。

在您的特定情況下,可以通過積極展望來解決。一張圖片勝過千言萬語。請參閱屏幕截圖中的詳細說明。


查看完整回答
反對 回復(fù) 2019-07-23
  • 3 回答
  • 0 關(guān)注
  • 1683 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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