正規表示式中星號怎麼用?我知道是匹配前面的子表示式零次或多次,能不能具體解釋一下。舉個例子什麼的

2021-03-31 16:20:03 字數 3517 閱讀 1058

1樓:知道名字很響亮

*是代表限重複次數,乙個代表次數的*就不能直接用了。所以前面就要有個代表某型別的具體字元的符合,比如\w、點、\d\s等等。。。

2樓:匿名使用者

a='1000010001001012312'

b=re.findall('10*',a) #先在字串中找到數字1,然後匹配*前的0零次或多次(優先多 次):找到第乙個1之後,會在後面搜尋0,直至非零出現。

然後 接著找下乙個1

c=re.findall('10+',a) #匹配+前面的0一次或多次

d=re.findall('10?',a) #匹配?之前的0一次或零次

print(b) → ['10000' , '1000' , '100', '10' , '1' , '1']

print(c) →['10000' , '1000' , '100' ,'10']

prind(d) →['10', '10', '10', '10', '1', '1']

正規表示式中,星號加問號是匹配什麼(分開我知道),比如/a*?/究竟匹配的是什麼,請高人指點

3樓:匿名使用者

像+ * ? 以及{m,n}

這幾種量詞(匹配數量)預設是屬於貪婪量詞,進行貪婪匹配什麼叫做貪婪匹配呢?貪婪就是盡可能的多匹配,貪心的意思比如現在目標字串是 aaaa 四個a組成的字串a* 和 a+ 都會匹配 aaaa

a? 則會匹配 a

這就是貪婪匹配,實際運用中,有的時候我們卻希望盡可能少的匹配比如目標字串 a

b此時如果我們使用了貪婪量詞

.* 則會匹配 a

b 整個字串

可是我們只想要匹配第一對span標籤怎麼辦?此時就需要用到懶惰量詞,意思也很明顯了,能偷懶就偷懶,呵呵,懶惰量詞與貪婪量詞的差別就是在貪婪量詞的後面加個?號,就構成了懶惰量詞,如下表

貪婪量詞 懶惰量詞

a* a*?

a+ a+?

a? a??

a a?

還是以目標字串 aaaa 來討論

a*?*號是匹配0次或多次,要偷懶怎麼辦呢?當然是最少次數了,也就是0 所以在這裡匹配的結果是

沒有匹配到任何內容

a+?+是1次或多次,分析方法同上,最少次數是1次,所以匹配結果就是 a

a???是0次或1次,所以這裡也不進行匹配,會偷懶吧,呵呵再來看看剛剛的ab

要匹配第一對span,用懶惰量詞就是.*?

4樓:匿名使用者

懶惰匹配

比如 字元為

這裡是測試

這裡是重點

如果是.*?

那麼是匹

配這裡是測試

如果是.*

那麼是匹配 這裡是測試

這裡是重點

js正規表示式中/=\s*\".*?\"/g表示什麼意思?

5樓:匿名使用者

//g是全域性匹配

//中間的內容表示:匹配以=開關,後面是0或多個空格,然後是雙引號括起來的任意字元,比如:

= "any symble"

6樓:

\s 匹配任何空白copy

字元,包括空格、製表符、換頁符等等。等價於 [ \f\n\r\t\v]。

* 匹配前面的子表示式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等價於。

\ 將下乙個字元標記為乙個特殊字元、或乙個原義字元、或乙個 向後引用、或乙個八進位制轉義符。例如,'n' 匹配字元 "n"。'\n' 匹配乙個換行符。

序列 '\\' 匹配 "\" 而 "\(" 則匹配 "("。

. 匹配除 "\n" 之外的任何單個字元。要匹配包括 '\n' 在內的任何字元,請使用象 '[.\n]' 的模式。

? 匹配前面的子表示式零次或一次。例如,"do(es)?" 可以匹配 "do" 或 "does" 中的"do" 。? 等價於 。

7樓:匿名使用者

匹配= " asfjaskldfjaskljdfl"

= " afasdfasdcxx"

這個正則 意思是匹配 等號 空格任意版個 引號 任意字元0次或多次 引號 /g 意思是全域性匹配 用在js 中 有類似權 replaceall() 的這個效果。

類似上面的那倆個字串都可以。

8樓:匿名使用者

\s*匹配0-n個空白,\"匹配雙引號,.*?匹配任意個字元,這個正則就是匹配帶雙引號的內容,比如:

「a」、"sdafsas"這些

正規表示式,匹配特定字元後面的內容

9樓:之何勿思

(姓名:)(.*)(,)(.*),這樣取\2  得到的是:中國人,位址。

正規表示式

對字串專(包括普通字元(例如,a 到 z 之間屬的字母)和特殊字元(稱為「元字元」))操作的一種邏輯公式,就是用事先定義好的一些特定字元、及這些特定字元的組合,組成乙個「規則字串」,這個「規則字串」用來表達對字串的一種過濾邏輯。

正規表示式模式描述在搜尋文字時要匹配的乙個或多個字串。

10樓:無和有

如果bai前面是固定的「姓名:du」的話,試zhi試(?<=姓名:dao).*?(?=,\d)。

正則表達回式答

,又稱規則表示式。(英語:regular expression,在**中常簡寫為regex、regexp或re),電腦科學的乙個概念。

正規表示式通常被用來檢索、替換那些符合某個模式(規則)的文字。

擴充套件資料

正規表示式由一些普通字元和一些元字元(metacharacters)組成。普通字元包括大小寫的字母和數字,而元字元則具有特殊的含義,我們下面會給予解釋。

在最簡單的情況下,乙個正規表示式看上去就是乙個普通的查詢串。例如,正規表示式"testing"中沒有包含任何元字元,它可以匹配"testing"和"testing123"等字串,但是不能匹配"testing"。

11樓:匿名使用者

(姓名:)(.*)(,)(.*)

這樣取\2 得到的是:中國人,位址

(姓名:)(.*)(,)(.*)(,)(.*)這樣\2 得到的是:中國人

12樓:我的名字叫瓜菜

(?<=\b姓名:).*(?=,位址)

目前也有這樣的需求,應該還有更好的方式,這個簡單測了一下應該滿足需要

正規表示式中s s什麼意思不是,正規表示式中, s S 什麼意思。。。。「 」不是範圍描述符嗎?

s s 是完全通配的意思 是範圍描述符。s是指空白,包括空格 換行 tab縮排等所有的空白,而 s剛好相反,這樣一正一反下來,就表示所有的字元,完全的,一字不漏的。另外,這個符號,表示在它裡面包含的單個字元不限順序的出現,比如 ace 這表示,只要出現a c e這三個任意的字母,都會被匹配 s 表示...

正規表示式s s是什麼意思,正規表示式 s S 是什麼意思?

s s 表示匹配任意字元,且只匹配一次,即懶惰匹配 如果是 s s 沒有帶?號,也表示匹配任意字元,但允許匹配任意次,即貪婪匹配。這個正規表示式是用來匹配空格符的,用來檢查你的文字裡面的空格 追問 只是匹配空格嗎?像如果是 s s 與 s s 匹配的字元結果是否一樣?就是想問下小括號的作用是?回答 ...

易語言裡,怎麼用正規表示式取出41978中的數字

版本 2 支援庫 regex 支援庫 spec 子程式 按鈕1 被單擊 區域性變數 文字,文字型 區域性變數 表示式,正規表示式 區域性變數 搜尋結果,搜尋結果,0 區域性變數 x,整數型 區域性變數 新文字,文字型 文字 編輯框1.內容 表示式.建立 0 9 搜尋結果 表示式.搜尋全部 文字 計次...