Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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
Perl-regex如何用python编写?_Python_Regex_Perl - Fatal编程技术网

Perl-regex如何用python编写?

Perl-regex如何用python编写?,python,regex,perl,Python,Regex,Perl,我在perl中编写了以下regex,现在我想在python中编写它 if ($textline =~ /^([A-Z0-9]+:)(.*)/) 如果在使用交互式python解释器时遇到问题,请将其复制/粘贴到终端: cd /tmp wget http://sputnick-area.net/ftp/downloads/re.py chmod +x re.py ./re.py 编辑:这是一个适合您需要的示例: #!/usr/bin/python2 # -*- coding: utf8 -*-

我在
perl
中编写了以下
regex
,现在我想在
python
中编写它

if ($textline =~ /^([A-Z0-9]+:)(.*)/)

如果在使用交互式python解释器时遇到问题,请将其复制/粘贴到终端:

cd /tmp
wget http://sputnick-area.net/ftp/downloads/re.py
chmod +x re.py
./re.py
编辑:这是一个适合您需要的示例:

#!/usr/bin/python2
# -*- coding: utf8 -*-

# $ cat /tmp/dmesg
# AZERTY:qwerty01
# AZERTY:qwerty02
# zzzzzzzzzzzzzzz
# AZERTY:qwerty03

import re

f = open("/tmp/dmesg", "r")
for textline in f.readlines():
    if re.search('^([A-Z0-9]+:)(.*)', textline):
        print "match "+textline.rstrip('\n')

f.close()

我已编辑您的问题以添加代码标记。这是太本地化的定义。由于没有关于这个正则表达式试图做什么的描述,所以其他试图做同样事情的人无法找到这个问题。这意味着:如果变量$textline匹配大写单词的开头(一个或多个字符)+:+任何带有一些(捕获)的内容,我认为perl reg表达式就足以作为描述了。我正在尝试匹配每一行不以空格开头的内容和后面的内容:“Perl程序员很清楚;)Perl是执行正则表达式的最佳语言。我喜欢Python还有其他方面的东西。那不是
sys.ps2
看起来的样子:PYou有一双好眼睛,我编辑了我的帖子Ignacio Vazquez Abrams=),这不会给我任何回报。它与0行匹配请参见上面我编辑的文章是的,但如果“^”表示仅在字符串开头匹配,则您的解决方案将在字符串中搜索匹配项。不应该重新匹配而不是重新搜索?
#!/usr/bin/python2
# -*- coding: utf8 -*-

# $ cat /tmp/dmesg
# AZERTY:qwerty01
# AZERTY:qwerty02
# zzzzzzzzzzzzzzz
# AZERTY:qwerty03

import re

f = open("/tmp/dmesg", "r")
for textline in f.readlines():
    if re.search('^([A-Z0-9]+:)(.*)', textline):
        print "match "+textline.rstrip('\n')

f.close()