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

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

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

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

回首憶惘然 2023-09-19 17:32:15
我正在 python 上做練習(xí),但我的正則表達式是錯誤的我希望有人可以幫助我,練習(xí)是這樣的:填寫代碼以檢查傳遞的文本是否看起來像標準句子,即它以大寫字母開頭,后跟至少一些小寫字母或空格,并以句號、問號或感嘆號結(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貢獻1880條經(jīng)驗 獲得超4個贊

您當前的正則表達式不起作用,因為它試圖尋找

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

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

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

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

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

  • [\.!\?]+$:第二串小寫字母后的一個或多個標點符號(.、!或),然后字符串結(jié)束。?

你真正想做的事情:

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

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

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

  • [\.!\?]$: 字符串末尾有一個標點符號


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

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

我建議以下正則表達式禁止連續(xù)空格和標點符號之前的空格

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

解釋

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

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

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

  • [\.!\?]$標點符號必須位于輸入字符串的末尾。

例如,這將允許

This is a valid sentence.

但禁止類似的事情

This is not valid !
This  is not valid either!


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

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

這應(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


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

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

從問題是問

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

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

  • 并以句號、問號或感嘆號結(jié)尾。所以我們可以使用[\.\?!]$\之前的and.稱為?“轉(zhuǎn)義字符”,它用于轉(zhuǎn)義.and?因為它們都是正則表達式操作的一部分。

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


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

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

順便說一句,這也有效。

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


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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