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

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

這個(gè) python 練習(xí)的正確正則表達(dá)式是什么?

這個(gè) python 練習(xí)的正確正則表達(dá)式是什么?

回首憶惘然 2023-09-19 17:32:15
我正在 python 上做練習(xí),但我的正則表達(dá)式是錯(cuò)誤的我希望有人可以幫助我,練習(xí)是這樣的:填寫代碼以檢查傳遞的文本是否看起來像標(biāo)準(zhǔn)句子,即它以大寫字母開頭,后跟至少一些小寫字母或空格,并以句號(hào)、問號(hào)或感嘆號(hào)結(jié)尾import redef check_sentence(text):          result = re.search(r"^[A-Z]+[a-z]+[\s]+[a-z]+[\.!\?]$", text)   return result != Noneprint(check_sentence("Is this is a sentence?")) # Trueprint(check_sentence("is this is a sentence?")) # Falseprint(check_sentence("Hello")) # Falseprint(check_sentence("1-2-3-GO!")) # Falseprint(check_sentence("A star is born.")) # True
查看完整描述

5 回答

?
慕村225694

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

您當(dāng)前的正則表達(dá)式不起作用,因?yàn)樗噲D尋找

^[A-Z]+[a-z]+[\s]+[a-z]+[\.!\?]$https://regex101.com/r/b96zXT/2

  • ^[A-Z]+:字符串開頭的一個(gè)或多個(gè)大寫字母

  • [a-z]+:大寫字母后的一個(gè)或多個(gè)小寫字母

  • [\s]+:小寫字母后有一個(gè)或多個(gè)空格

  • [a-z]+: 空格后的一個(gè)或多個(gè)小寫字母

  • [\.!\?]+$:第二串小寫字母后的一個(gè)或多個(gè)標(biāo)點(diǎn)符號(hào)(.!或),然后字符串結(jié)束。?

你真正想做的事情:

^[A-Z][A-Za-z\s]+[\.!\?]$ https://regex101.com/r/r3CAdh/2

  • ^[A-Z]:字符串開頭恰好有一個(gè)大寫字母

  • [A-Za-z\s]+:一個(gè)或多個(gè)大寫字母/小寫字母/空格

  • [\.!\?]$: 字符串末尾有一個(gè)標(biāo)點(diǎn)符號(hào)


查看完整回答
反對(duì) 回復(fù) 2023-09-19
?
翻過高山走不出你

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

我建議以下正則表達(dá)式禁止連續(xù)空格和標(biāo)點(diǎn)符號(hào)之前的空格

/^[A-Z][a-z]*(\s[a-z]+)*[\.!\?]$/

解釋

  • ^必須從輸入字符串的開頭開始

  • [A-Z][a-z]*第一個(gè)單詞必須以大寫字母開頭,后跟任意數(shù)量的小寫字母

  • (\s[a-z]+)*在第一個(gè)單詞之后,可以有任意數(shù)量的附加單詞(也可以是零)。每個(gè)單詞前面必須有一個(gè)空格(您也可以只使用一個(gè)空格,而不是\s只允許空格但不允許制表符)并且至少包含一個(gè)小寫字母

  • [\.!\?]$標(biāo)點(diǎn)符號(hào)必須位于輸入字符串的末尾。

例如,這將允許

This is a valid sentence.

但禁止類似的事情

This is not valid !
This  is not valid either!


查看完整回答
反對(duì) 回復(fù) 2023-09-19
?
瀟湘沐

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

這應(yīng)該有效


    import re

    def check_sentence(text):

      result = re.search(r"^[A-Z][A-Za-z\s]*[\.\?!]$", text)

      return result != None


    print(check_sentence("Is this is a sentence?")) # True

    print(check_sentence("is this is a sentence?")) # False

    print(check_sentence("Hello")) # False

    print(check_sentence("1-2-3-GO!")) # False

    print(check_sentence("A star is born.")) # True


查看完整回答
反對(duì) 回復(fù) 2023-09-19
?
慕娘9325324

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

從問題是問

  • 它以大寫字母開頭,所以我們使用^[A-Z].

  • 后面至少跟著一些小寫字母或空格,以便我們可以使用[a-z\s]+

  • 并以句號(hào)、問號(hào)或感嘆號(hào)結(jié)尾。所以我們可以使用[\.\?!]$\之前的and.稱為?“轉(zhuǎn)義字符”,它用于轉(zhuǎn)義.and?因?yàn)樗鼈兌际钦齽t表達(dá)式操作的一部分。

好了,你的問題的答案是result = re.search(r"^[A-Z][a-z\s]+[\.\?!]$", text)。


查看完整回答
反對(duì) 回復(fù) 2023-09-19
?
萬千封印

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

順便說一句,這也有效。

 re.search(r"^[A-Z][a-z\s].*[.?!]$", text)


查看完整回答
反對(duì) 回復(fù) 2023-09-19
  • 5 回答
  • 0 關(guān)注
  • 216 瀏覽
慕課專欄
更多

添加回答

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