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

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

正則表達(dá)式完全匹配 1 個(gè)特定字符

正則表達(dá)式完全匹配 1 個(gè)特定字符

C#
開滿天機(jī) 2023-07-22 15:47:02
我正在嘗試匹配@relRef但不是@@absRef來(lái)自:Stuff @relRef more stuff @@absRef據(jù)我了解,[^@]@{1}[^\s]*應(yīng)該可以,但它仍然錯(cuò)誤地選擇兩者。并不{1}意味著我認(rèn)為我所做的?(我認(rèn)為這意味著“與前一件事完全匹配1次”)[^@]@[^@][^\s]*確實(shí)有效,但對(duì)于我的用例來(lái)說(shuō)不太方便,更重要的是,我不明白為什么我原來(lái)的解決方案不起作用。最后,如果這個(gè)答案是多個(gè)字符,那么無(wú)論這個(gè)答案最終會(huì)發(fā)生什么變化。(即,如果句子是Stuff AT_relRef more stuff ATAT_absRef這樣,那么現(xiàn)在我不會(huì)檢查單個(gè)@字符,而是檢查“AT”。)長(zhǎng)話短說(shuō):1)為什么[^@]@{1}[^\s]*匹配@@absRef以及如何將其修復(fù)為僅匹配@relRef?2) 如果我使用多個(gè)字符來(lái)標(biāo)記引用,#1 的答案是否會(huì)改變?(即AT_relRef和ATAT_absRef)
查看完整描述

1 回答

?
九州編程

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

您的正則表達(dá)式匹配兩者,因?yàn)?code>[^\s]它匹配任何字符,但空格也會(huì)匹配該@字符。在這兩種情況下都匹配空格[^@],因此它沒有足夠的幫助。此外,@{1}與 相同@{1}量詞在任何正則表達(dá)式中始終是多余的。

您可以使用

(?<!@)@[^\s@]\S*

請(qǐng)參閱正則表達(dá)式演示

細(xì)節(jié)

  • (?<!@)-@不在當(dāng)前位置之前

  • @- 一個(gè)@字符

  • [^\s@]@- 除和 空格之外的字符

  • \S*- 0 個(gè)或多個(gè)非空白字符。

對(duì)于第二種情況,負(fù)向回顧也將起作用:

(?<!AT)AT_\S*

請(qǐng)參閱正則表達(dá)式演示。它匹配

  • (?<!AT)- 前面沒有的任何位置AT

  • AT_- 一個(gè)子AT_

  • \S*- 0+ 個(gè)除空格之外的字符。


查看完整回答
反對(duì) 回復(fù) 2023-07-22
  • 1 回答
  • 0 關(guān)注
  • 201 瀏覽

添加回答

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