正则表达式:pandas.str.contains('binary:[49]')返回False,但实际上它是True

时间:2018-01-18 04:09:36

标签: python regex python-2.7 pandas

我在列android:fontFamily的每一行中的Pandas字符串以head开头,但它返回"binary: [49] "

False

我测试all(all(df_ms1[head].str.contains('binary: [49] ')) == True for head in msarray_match) 它返回了df_ms1[head].str.contains('binary:'),。我想知道匹配True这个词有什么问题?这里是否禁止使用空格或数字或括号?

1 个答案:

答案 0 :(得分:3)

方括号是正则表达式元字符,具有特殊含义。如果你需要文字括号,你必须在你的模式中转义它们。

all(all(df_ms1[head].str.contains('binary: \[49\] ')) == True for head in msarray_match)

顺便说一下,模式binary: [49]会匹配binary: 4binary: 9,但不匹配binary: 49