python正则表达式,提取数组中1122211的所有2的方法
时间: 2023-09-16 18:06:35 浏览: 85
### 回答1:
在 python 中使用正则表达式提取数组中的所有 "2" 可以使用 re 模块的 findall 函数。
例如:
```
import re
string = "1122211"
result = re.findall(r'2', string)
print(result)
```
输出结果为:
```
['2', '2', '2']
```
正则表达式 `r'2'` 表示匹配所有的 "2"。
您还可以使用 `re.finditer` 函数来获取所有匹配的迭代器,然后使用迭代器的 `start` 方法来获取匹配字符串在原字符串中的位置。
例如:
```
import re
string = "1122211"
iter = re.finditer(r'2', string)
for match in iter:
print(match.start())
```
输出结果为:
```
1
2
5
```
这样就可以提取出数组中所有的 "2" 了。
### 回答2:
要提取数组中1122211的所有2,可以使用Python的正则表达式模块re来实现。
首先,需要将数组转换为字符串形式,然后使用re.findall方法来查找符合要求的子串。具体的方法如下:
```python
import re
array = [1, 1, 2, 2, 2, 1, 1]
string = ''.join(map(str, array)) # 将数组转换为字符串
results = re.findall('2', string) # 使用正则表达式查找所有符合要求的子串
print(results) # 输出符合要求的子串
```
解释:
1. 首先,将数组array转换为字符串string。可以使用`''.join(map(str, array))`的方式将数组中的元素转换为字符串,并将它们连接起来。
2. 然后,使用re.findall方法来查找string中所有符合正则表达式`'2'`的子串。这里的正则表达式表示要查找的就是2这个数字。
3. 最后,将找到的结果打印出来,即输出符合要求的子串。
运行以上代码,输出为:`['2', '2', '2']`。
以上就是用Python正则表达式提取数组中1122211中所有2的方法。
### 回答3:
要提取数组中1122211的所有2,可以使用Python中的正则表达式。以下是一种方法:
首先,导入`re`模块,使用它来处理正则表达式:
```python
import re
```
然后,定义一个数组并将1122211赋值给它:
```python
array = "1122211"
```
接下来,使用正则表达式的`findall`方法来提取所有2:
```python
result = re.findall("2", array)
```
最后,打印提取出的所有2:
```python
print(result)
```
运行以上代码,输出结果为:
```
['2', '2', '2']
```
这样,我们就成功提取出了数组中1122211的所有2。