python正则表达式-匹配多个单词 分数 5 作者 郭丽 单位 中原工学院 请你使用字符组匹配Ruby、Rube、ruby、rube。 需要匹配的 ruby rube Ruby on Rails Rube on Rails 不能匹配的 rubb on rails ruyye on rails ruee hello world 程序写在这里。下面的空分值是3分。 例如: import re contents=''' ruby rube Ruby on Rails Rube on Rails rubb on rails ruyye on rails ruee hello world ''' p = re.compile(r' ruby\s ') for line in p.findall(contents): print(line)
时间: 2024-02-15 17:01:31 浏览: 25
好的,我理解了你的问题。以下是一个匹配多个单词的正则表达式示例,符合你的需求:
```python
import re
contents = '''
ruby rube Ruby on Rails Rube on Rails
rubb on rails ruyye on rails ruee hello world
'''
p = re.compile(r'[Rr]ub[ye]\b') # 使用字符组匹配Ruby、Rube、ruby、rube
for line in p.findall(contents):
print(line)
```
输出结果:
```
ruby
rube
Ruby
Rube
```
解释一下正则表达式的含义:
- `[Rr]`: 匹配 R 或 r。
- `ub`: 匹配 ub。
- `[ye]`: 匹配 y 或 e。
- `\b`: 匹配单词边界,确保匹配的是整个单词而不是单词的一部分。
因此,`[Rr]ub[ye]\b` 可以匹配 Ruby、Rube、ruby、rube 这四个单词。注意,这里使用了 Python 的原始字符串(raw string)语法,即在字符串前加上 `r`,这样反斜杠字符 `\` 就不用转义了。