我正在试着匹配一个以“你好”开头、以“再见”结尾的句子。例如,“hello something bye”应该导致匹配。我试着使用正则表达式^hello|[a-z]|bye$,但它能检测到一切。我也试过谷歌搜索,但我找不到解决这个确切的情况。
^hello|[a-z]|bye$
6bc51xsx1#
^hello\b.*\bbye$
说明:
h22fl7wq2#
根据您的注解,您似乎希望匹配指定模式的所有示例。为了实现这一点,你可以使用这样的东西:
import re text = "irrelevant sentence hello first sentence bye irrelevant sentence hello second sentence bye " \ "irrelevant sentence hello third sentence bye irrelevant sentence" regex = r"(?:^|\s)(hello\s.*?bye)(?=\s|$)" matches = re.findall(regex, text) if matches: print("Matches found:", matches) else: print("Matches not found.")
输出:
Matches found: ['hello first sentence bye', 'hello second sentence bye', 'hello third sentence bye']
qlzsbp2j3#
一般来说,可以使用正则表达式模式^\w+|\w+$,它只匹配开头或结尾的单词。假设你的实际语言是Python,我们可以尝试:
^\w+|\w+$
inp = "hello something bye" matches = re.findall(r'^\w+|\w+$', inp) print(matches) # ['hello', 'bye']
3条答案
按热度按时间6bc51xsx1#
说明:
h22fl7wq2#
根据您的注解,您似乎希望匹配指定模式的所有示例。为了实现这一点,你可以使用这样的东西:
输出:
qlzsbp2j3#
一般来说,可以使用正则表达式模式
^\w+|\w+$
,它只匹配开头或结尾的单词。假设你的实际语言是Python,我们可以尝试: