regex 如何在批处理文件中找到未终止百分号的所有示例?

dxxyhpgq  于 2023-04-13  发布在  其他
关注(0)|答案(1)|浏览(130)

我有一个python函数,它在批处理文件中查找潜在的错误,我希望解决的问题是找到任何有未终止百分号的行,然而,这个函数似乎返回了每一行中有%符号的每一个%符号。
下面是我目前拥有的函数,它没有做我需要它做的事情:

def check_unterminated_percent_signs(content):
    # check for unterminated percent signs
    errors = []
    for i, line in enumerate(content.split('\n')):
        match = re.search(r'%[^%\n]*$', line)
        if match:
            errors.append(f'Unterminated percent sign found on line {i+1}, position {match.start()}: {line.strip()}')
    return errors

下面是批处理文件中的一行,它应该触发错误:

set Log_File=%Backup_Folder%\Logs\daily_copy.log
djp7away

djp7away1#

感谢DarkKnight
这是解决我的问题的代码:

def check_unterminated_percent_signs(content):
    # check for unterminated percent signs
    errors = []
    for i, line in enumerate(content.split('\n')):
        num_percent_signs = line.count('%')
        if num_percent_signs % 2 == 1:
            errors.append(f'Unterminated percent sign found on line {i+1}: {line.strip()}')
    return errors

相关问题