如果一个字符串"|\"\"abc|def\"\"|nnjk|\"\"abc|def\"\"|", 如何将abc|def 都捕获出来
时间: 2023-07-01 22:25:18 浏览: 93
提取字符串中的符号
你可以使用正则表达式来捕获这个字符串中所有的 `abc|def`。下面是一个示例代码:
```python
import re
s = "|\"\"abc|def\"\"|nnjk|\"\"abc|def\"\"|"
matches = re.findall(r'\|\"{2}(abc\|def)\"{2}\|', s)
print(matches)
```
输出:
```
['abc|def', 'abc|def']
```
这里使用了正则表达式 `\|\"{2}(abc\|def)\"{2}\|`,它的含义是:
- `\|` 匹配一个竖线字符 `|`
- `\"{2}` 匹配两个双引号字符 `"`
- `(abc\|def)` 捕获 `abc|def` 字符串,注意这里需要使用反斜杠 `\` 来转义 `|` 字符,否则它会被解释成正则表达式的元字符。
- `\"{2}\|` 匹配两个双引号字符 `"` 和一个竖线字符 `|`
`re.findall()` 方法会返回所有匹配的字符串,这里可以捕获到两个 `abc|def` 字符串。
阅读全文