正規表示式匹配問號不是問號的用法

2021-03-19 18:26:07 字數 3483 閱讀 7198

1樓:紫薇參星

你的正規表示式多加了一個括號,而且沒有(.*)+的用法。

正確的正規表示式:^(.*)\.html\?page=(\d+)$

2樓:匿名使用者

應該是你表示式寫錯了, 左括號和右括號數目不匹配.你看一下html後面的括號沒有對應的左括號.

3樓:利樹花堅衣

問號是一個特殊字元,在正規表示式中代表0個或者1個,如果你要在正規表示式中表示?號,那麼需要轉義一下,\?,在java中則是\\?,不知道你問的是不是這個。

正規表示式怎麼匹配問號

4樓:

\?其中\是引用符,比如 \.,是指.。

5樓:亡靈祭司

邊界字元?

^?以問號開頭 ?$以問號結尾

關於正規表示式 問號的幾種匹配

6樓:匿名使用者

(?:pattern) 匹配 pattern 但不獲取匹配結果,也就是說這是一個非獲取匹配,不進行儲存供以後使用。這在使用 "或" 字元 (|) 來組合一個模式的各個部分是很有用。

例如, 'industr(?:y|ies) 就是一個比 'industry|industries' 更簡略的表示式。

(?!pattern) 負向預查,在任何不匹配 pattern 的字串開始處匹配查詢字串。這是一個非獲取匹配,也就是說,該匹配不需要獲取供以後使用。

例如'windows (?!95|98|nt|2000)' 能匹配 "windows 3.1" 中的 "windows",但不能匹配 "windows 2000" 中的 "windows"。

預查不消耗字元,也就是說,在一個匹配發生後,在最後一次匹配之後立即開始下一次匹配的搜尋,而不是從包含預查的字元之後開始

7樓:匿名使用者

實際上有四種,內容太多偶就不貼了,你搜尋正規表示式 環視 可以找到更多內容。

(?<=expression)

逆序肯定環視,表示所在位置左側能夠匹配expression(?

逆序否定環視,表示所在位置左側不能匹配expression(?=expression)

順序肯定環視,表示所在位置右側能夠匹配expression(?!expression)

順序否定環視,表示所在位置右側不能匹配expression

8樓:匿名使用者

例如:<>。其中「(」後面緊跟的「?:」會告訴引擎對於組(value),不儲存匹配的值以供後向引用。

否定式向前檢視的語法是(?!檢視的內容)。

請問下正規表示式能原樣輸出問號嗎? 5

9樓:匿名使用者

要直接匹配問號,就要轉義

\?var str = "ok????";

var reg = /\?/g;

var result = str.match(reg);

console.log(result);

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

10樓:匿名使用者

像+ * ? 以及{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,用懶惰量詞就是.*?

11樓:匿名使用者

懶惰匹配

比如 字元為

這裡是測試

這裡是重點

如果是.*?

那麼是匹

配這裡是測試

如果是.*

那麼是匹配 這裡是測試

這裡是重點

12樓:匿名使用者

* 匹配前面的子表示式零次或多次。

? 匹配前面的子表示式零次或一次。

javascript 例子:

var s="";

alert(s.replace(/<.*?>/,""));

alert(s.replace(/<.*>/,""));

通常利用?來實現懶惰匹配。

正規表示式中加號和問號連在一起是什麼意思

13樓:匿名使用者

非貪婪匹配

加號後沒有問號時,選擇字元最多的匹配,如有字串"ababab"

用 "[a-z]+a" 這個正規表示式匹配 「ababa"這個子串加號後加個問號,選擇字元最少的匹配

用"[a-z]+?a「這個正規表示式匹配"aba"這個子串

java 正規表示式 替換問號

14樓:匿名使用者

問號是一個特殊字元,在正規表示式中代表0個或者1個,如果你要在正規表示式中表示?號,那麼需要轉義一下,\?,在java中則是\\?,不知道你問的是不是這個。

正規表示式中的問好表示什麼?

15樓:匿名使用者

表示出現0次或1次, 如\d?表示0個或一個數字

16樓:曉yun逸

在匹配字元的後面表示一個或者零個,像 a\w?b 可以匹配ab和acb。在量詞元字元後面表示取消貪婪模式,即在滿足條件下,儘可能少地匹配,如\w+\d+?

會只匹配abc123中的abc1。還有命名分組,取消命名分組及前後環視等等也會用到問號。

17樓:匿名使用者

0到1次,還有非貪婪匹配

正規表示式怎麼匹配這樣的文字,正規表示式怎麼匹配標點符號

正則表達 括號中的捕獲內容就是 正規表示式怎麼匹配標點符號?如何用正規表示式匹配漢字?先用靚湯或正則找到這個節點,再用上面的字元組匹配。假設這個節點只有一個,用法如下 import reimport requests as reqfrom bs4 import beautifulsoupurl ht...

正規表示式如何匹配出最短字串,正規表示式如何匹配除某些字串以外的所有字元

當正規表示式中包含能接受重複的限定符時,通常的行為是 在使整個表示式能得到匹配的前提下 匹配儘可能多的字元。考慮這個表示式 a.b,它將會匹配最長的以a開始,以b結束的字串。如果用它來搜尋aabab的話,它會匹配整個字串aabab。這被稱為貪婪匹配。有時,我們更需要懶惰匹配,也就是匹配儘可能少的字元...

正規表示式問題,正規表示式問題(需要通用)

這樣不知道 是不是你想要的 首先你給的xml是不規範的。硬要匹配的話,可以試試下面的 你要的字串在group 1 中 性和閏年等問題.對於日期的有效範圍,不同的應用場景會有所不同。msdn中定義的datetime物件的有效範圍是 0001 01 01 00 00 00到9999 12 31 23 5...