正则表达式结合python搜索两个表达式

问题描述 投票:0回答:1

我是 Python 和正则表达式的新手。当我在做在线课程时,遇到了这个简单的任务。它检查标准句子:行是否以大写字母开头并以句点或问号结尾。这是我的工作代码,但它使用了两个 re.search,需要减少到一个。如果我添加两个正则表达式 exp。它给出了不同的输出。

这是我的代码:

import re
def check_sentence(text):
  result = re.search(r"[\.\?]$", text) and re.search(r"^[A-Z]", 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

我需要单一表达。将 r'^[A-Z]' 和 r'[.?]$' 组合起来。但如果我只使用 : r'^[A-Z][.?]$' 它会给出不同的 O/P。

感谢您帮助解释。

python regex-group python-re
1个回答
0
投票

你可以像这样合并:

import re
def check_sentence(text):
  result = re.search(r"^[A-Z].*[\.\?]$", text)
  return result != None
© www.soinside.com 2019 - 2024. All rights reserved.