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

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

一個正則表達式,永遠不會與任何事物匹配

一個正則表達式,永遠不會與任何事物匹配

慕工程0101907 2019-10-17 14:48:01
這聽起來像是一個愚蠢的問題,但是我與一些開發(fā)人員進行了長時間的交談,這聽起來像是一件有趣的事情。所以; 您的想法是什么-正則表達式看起來像什么,永遠不會被任何字符串匹配!編輯:為什么我要這個?好吧,首先是因為我覺得思考這樣的表達式很有趣,其次是因為我在腳本中需要它。在該腳本中,我將字典定義為Dictionary<string, Regex>。如您所見,它包含一個字符串和一個表達式?;谠撟值?,我創(chuàng)建了全部使用此字典作為其工作方式參考的方法,其中一種將正則表達式與已解析的日志文件進行匹配。如果一個表達式匹配,Dictionary<string, long>則為另一個表達式添加一個由表達式返回的值。因此,為了捕獲字典中某個表達式不匹配的所有日志消息,我創(chuàng)建了一個名為“未知”的新組。向該組添加了其他所有不匹配的內(nèi)容。但是,為了防止日志消息的“未知”表達式不匹配(偶然),我必須創(chuàng)建一個表達式,該表達式無論從我提供的字符串來看,都絕不會匹配。因此,您有理由提出這個“不是真正的問題” ...
查看完整描述

3 回答

?
長風秋雁

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

這實際上很簡單,盡管它取決于實現(xiàn)/標志 *:


$a

將a在字符串末尾匹配一個字符。祝好運。


警告:

此表達式很昂貴-它會掃描整行,找到行尾錨,然后才找到a并返回負匹配。(有關更多詳細信息,請參見下面的評論。)


*最初,我對多行模式正則表達式?jīng)]有多加考慮,因為它$也與行尾匹配。實際上,它將與換行符之前的空字符串匹配,因此,像這樣的普通字符a永遠不會出現(xiàn)在之后$。


查看完整回答
反對 回復 2019-10-17
?
慕婉清6462132

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

杠桿作用negative lookahead:


>>> import re

>>> x=r'(?!x)x'

>>> r=re.compile(x)

>>> r.match('')

>>> r.match('x')

>>> r.match('y')

此RE在術語上是矛盾的,因此永遠不會匹配任何內(nèi)容。


注意:

在Python中,re.match()會\A在正則表達式的開頭隱式添加字符串的開始錨點()。此錨對于性能很重要:如果沒有錨,將掃描整個字符串。那些不使用Python的用戶將希望顯式添加錨點:


\A(?!x)x


查看完整回答
反對 回復 2019-10-17
?
慕蓋茨4494581

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

環(huán)視四周:


(?=a)b


對于正則表達式新手:正面看(?=a)要確保下一個字符為a,但不更改搜索位置(或在匹配的字符串中包含“ a”)?,F(xiàn)在,確認下一個字符為a,b僅當下一個字符為時,regex()的其余部分才匹配b。因此,此正則表達式匹配只有一個字符既a與b在同一時間。


查看完整回答
反對 回復 2019-10-17
  • 3 回答
  • 0 關注
  • 704 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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