正则表达式仅在字符串中搜索回车符和换行符

时间:2018-06-20 05:55:31

标签: python regex python-2.7

我是正则表达式的新手,如果第一节为空且没有字母数字字符,则需要帮助以弄清楚如何形成正则表达式以返回False。目前,我正在使用以下正则表达式,但仍将换行符,回车符视为字符串。

任何帮助将不胜感激

PATTERN = r'Section One:[\s]*'

输入:

1. Section One:

2. Section Two: lknlknvd lknlfnv
lvkndflvlkvndflvkn
vlkfdnlkfn

3. Section Three:pklnklnfvl lknlknvl
flvkndflknvlf 

2 个答案:

答案 0 :(得分:0)

一种选择是使用以下模式:

Section One:\s*(?:\d+\.\s+Section|$)

当文本Section One:后面紧跟空格时,在另一个节头开始字符串的末尾之前,该空格将为正匹配。我未提及您的某些输入可能只有一个空白部分的可能性。

import re

line = "1.Section One:\n\nSection Two: lknlknvd lknlfnv\nlvkndflvlkvndflvkn\nvlkfdnlkfn\n\n3. Section Three:pklnklnfvl lknlknvl\nflvkndflknvlf "

obj = re.match( r'.*Section One:\s+(?:\d+\.\s+Section|$)', line, re.M|re.I)

if obj:
    print "Section One has no content"
else:
    print "Section One has content"

Demo

答案 1 :(得分:0)

您可能想要这个 Section One:.*[a-z0-9].*$

re.MULTILINEre.IGNORECASE

.*[a-z0-9].*:匹配包含至少一个字母数字字符的内容,即。 [a-z0-9]
$:确保与整行匹配。

例如,请参见https://regex101.com/r/H64ZCV/3