此问题在此处已有答案:
What special characters must be escaped in regular expressions?(13个回答)
Reference - What does this regex mean?(1个回答)
16天前关闭.
import pandas as pd
import numpy as np
import re
df_test = pd.DataFrame(np.array([['a|b', 'b', 'c|r'], [ 'e', 'f', 'g']]), columns=['First', 'Second', 'Third'])
for elem in df_test.get('First'):
x = bool(re.search('|', elem))
if x == True:
print(elem)
输出量:
a|b
e
型
为什么会这样显示呢?认为只有第一行才能输出,不是吗?
1条答案
按热度按时间euoag5mw1#
代码中的问题在于正则表达式模式以及它如何与
re.search
函数交互。在正则表达式中,竖线|
是表示OR运算符的特殊字符。因此,当您使用re.search('|', elem)
时,它实际上是在输入元素中搜索空字符串或任何字符。因此,您需要使用反斜杠\
对竖线进行转义,因为您希望匹配文字字符|
。字符串