python 匹配中间有任意个空格、冒号、连接符的一段英文语句
时间: 2023-10-20 19:19:48 浏览: 29
可以使用正则表达式来匹配中间有任意个空格、冒号、连接符的一段英文语句。具体的正则表达式如下:
```python
import re
text = "This is a sample sentence: with spaces - and : in between"
pattern = re.compile(r'\b[a-zA-Z\s]+[:\-]*\s*[a-zA-Z\s]*[,:\-]*\s*[a-zA-Z\s]*\b')
match = pattern.search(text)
if match:
print(match.group())
```
解释一下正则表达式的含义:
- `\b` 表示单词的边界,确保匹配的是整个单词。
- `[a-zA-Z\s]+` 表示匹配一个或多个字母或空格。
- `[:\-]*` 表示匹配零个或多个冒号或连接符。
- `\s*` 表示匹配零个或多个空格。
- `[a-zA-Z\s]*` 表示匹配零个或多个字母或空格。
- `[,:\-]*` 表示匹配零个或多个逗号、冒号或连接符。
- `\s*` 表示匹配零个或多个空格。
- `[a-zA-Z\s]*` 表示匹配零个或多个字母或空格。
- `\b` 表示单词的边界。
这个正则表达式可以匹配类似这样的语句:
- This is a sample sentence
- with spaces
- and : in between
- - and : in between
- with spaces - and : in between
注意,这个正则表达式只能匹配单词和空格,不能匹配数字或其他特殊字符。如果需要匹配其他类型的字符,需要相应地修改正则表达式。