0
私は何とかこの質問に対する答えが明白であることを知っていますが、なぜ私がregを見つけることができないのかを見つけるために数日間過ごしました。 exp。 machオブジェクトを以下のスクリプトに追加します。Python正規表現の検索matchobjがエラーを引き起こします
import sys
import re, pdb
#pdb.set_trace()
def fn_get_srctxt_hg_datestring_rawdata_from_clipbd():
this_scriptz_FULLName = sys.argv[0]
try:
date_string_raw = sys.argv[1]
return returnval
except:
date_string_raw = ''
import win32clipboard
win32clipboard.OpenClipboard()
clip_text = win32clipboard.GetClipboardData()
win32clipboard.CloseClipboard()
date_string_raw = clip_text
returnval = clip_text
return returnval
def fn_cull_sender_info(date_string_raw): #
# Do re replacements
import re
sender_info = 'Line 29 empty'
print '\n\nLine 30: date_string_raw = [starts on next line...]\n' + str(date_string_raw) + '\n' + 'x'*80 + '\n'
srchpatrn = r"(from:\t)(([A-Za-z\. ]+?)(?:))?([A-Za-z.\-_0-9][email protected][A-Za-z.\-_0-9].+?\.(?:com|org|net))"
matchObj = re.search(srchpatrn, date_string_raw)
if matchObj:
print 'Line 35: matchObj found\n str(match_obj.group(0)) = ' + str(match_obj.group(0))
sender_info = str(match_obj.group(0))
return sender_info
if __name__ == '__main__':
harvey = fn_get_srctxt_hg_datestring_rawdata_from_clipbd()
print harvey
date_string_raw = harvey
print '*****'*50
print '\n\n'
print fn_cull_sender_info(date_string_raw)
そして、次の(別の関数[ここには示されていない]によって生成テキストである)私のテキストで次のコードがある
subject: Re: Why DOJ BMFEA Baton Rouge rejected Gonzalaz Pen Code 99999 death case
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Traceback (most recent call last):
File "C:\Apps\UtilitiesByMarc\test_search4Sender_aaB.py", line 46, in <module>
print fn_cull_sender_info(date_string_raw)
File "C:\Apps\UtilitiesByMarc\test_search4Sender_aaB.py", line 35, in fn_cull_sender_info
print 'Line 35: matchObj found\n str(match_obj.group(0)) = ' + str(match_obj.group(0))
NameError: global name 'match_obj' is not defined
: は、ここで私は取得エラーmesssageです私は上記のPythonコードを実行するとWindowsのクリップボードを持っている:
sender_display_name = matchObj.search(date_string_raw).group(2)#.strip()
sender_eml = matchObj.search(date_string_raw).group(4)
私は私が間違ってやっているものを見つけるためにしようと日々を過ごしてきました。 正規表現グループ3と4を文字列変数に取り込みたいとします。
しかし、私はmatchObjをTrueとして返すことができないので、そこには到達できません。
この種の問題は[pyflakes](http://pypi.python.org/pypi/pyflakes)のような構文チェックツールで簡単に検出できます。 – jcollado
私は非常に簡単な、パイリンチンを使用しています。 – NuclearPeon