Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中用于匹配CSV文件中字符串的正则表达式_Python_Regex - Fatal编程技术网

Python中用于匹配CSV文件中字符串的正则表达式

Python中用于匹配CSV文件中字符串的正则表达式,python,regex,Python,Regex,我正在用Python处理正则表达式。我想匹配插入数据库的CSV文件中的几行,该数据库以下划线开头和结尾 我在Python脚本中使用了正则表达式来实现同样的功能,但它将结果打印为“无”。这是我的代码,请告诉我我犯了什么错误: reg = re.compile(r'^_.*_$',re.I) imatch = reg.match(unicode(row[4], "utf8")) 在这里,r'^.*.\u$',re.I是我的正则表达式,用于匹配以^开头和结尾的行unicode(行[4],“utf8”

我正在用Python处理正则表达式。我想匹配插入数据库的CSV文件中的几行,该数据库以下划线开头和结尾

我在Python脚本中使用了正则表达式来实现同样的功能,但它将结果打印为“无”。这是我的代码,请告诉我我犯了什么错误:

reg = re.compile(r'^_.*_$',re.I)
imatch = reg.match(unicode(row[4], "utf8"))
在这里,
r'^.*.\u$',re.I
是我的正则表达式,用于匹配以^开头和结尾的行
unicode(行[4],“utf8”)
指定插入数据库的CSV文件中的行

任何帮助都将不胜感激

import re
lines = [line.strip() for line in open('file.csv')]
for x in lines:
    match=re.search(r'^_.*_$',x)
    if match: print x
我们必须去除每一行,否则每一行都以char“\n”而不是“\ux”结尾,这样regex将与字符串不匹配

file.csv

_abdlfla_
sldjlfds_
_adlfdls
_132jdlfjflds_
输出

_abdlfla_
_132jdlfjflds_

您可以使用startswith和endswith函数代替re。使用re的具体原因是什么

for l in open('test.csv'):
    l=l.strip()
    if l.startswith('_') and l.endswith('_'):
        print(l)

如果不知道
行[4]
的内容以及要匹配的内容,就无法回答此问题。您知道吗,有些案例的开头和结尾都是不匹配的
?unicode(第[4]行,“utf8”)=(aaaaa bbbb ccccc 5635!fgsfrq.)假设这是我的字符串,我想匹配一些以u开头和结尾的字符串,它应该与正则表达式匹配为什么你希望它与正则表达式匹配?它的开头和结尾都不是
。如果我的错误,你能给我一个正确的重新语法来匹配吗?你想匹配什么?您说过只想匹配以
开头和结尾的行。这不是你想做的吗?如果你包括一句关于为什么使用脱衣舞解决问题的话,我倾向于投赞成票。