input='abstract chevron print 1' 编写一段正则表达式,按多空格分割,但是不包括单词间的一个空格 将input分割成名称和数字
时间: 2024-03-23 17:35:54 浏览: 91
python 使用正则表达式按照多个空格分割字符的实例
您可以使用以下正则表达式将字符串按多个空格分割,但不包括单词间的一个空格:
```
import re
input_str = 'abstract chevron print 1'
pattern = re.compile(r'\s{2,}(?=[a-zA-Z])|\s(?=\d)')
result = pattern.split(input_str)
print(result) # ['abstract chevron print', '1']
```
在上面的表达式中,`\s{2,}(?=[a-zA-Z])` 匹配两个或以上的空格,但不包括单词间的一个空格;`|\s(?=\d)` 匹配一个空格,但仅在其后面跟着一个数字的情况下匹配。这样,就可以将字符串按照要求分割。
最后,使用 `split` 函数将字符串按照正则表达式进行分割,得到分割后的列表。在上面的例子中,字符串 input_str 按照正则表达式进行分割,得到了一个列表,其中包含了按多个空格分割后的字符串,但是一个单词间的空格并没有被分割。
阅读全文