@ Python 3正規表現で言及されているものを含むさまざまな正規表現を試して 、以下に示す入力ファイルと一致する複数行のコメントを見つけました。完全なコードも以下にあります。以下は、入力ファイル@ http://pastie. org/5653293
pattern = re.compile(r'/\*.*?'+ needle + '.*?\*/', re.DOTALL)
正規表現が一致しない理由について誰かが入力を提供できますか?
import os
import sys
import re
import fnmatch
def find_and_remove(haystack, needle):
re.escape(needle)
pattern = re.compile(r'/\*.*?'+ needle + '.*?\*/', re.DOTALL)
return re.sub(pattern, "", haystack)
for path,dirs,files in os.walk(sys.argv[1]):
for fname in files:
for pat in ['*.cpp','*.c','*.h','*.txt']:
if fnmatch.fnmatch(fname,pat):
fullname = os.path.join(path,fname)
# put all the text into f and read and replace...
f = open(fullname).read()
result = find_and_remove(f, r"Copyright (c) 2012, The Linux Foundation. All rights reserved")