Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.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
无法使用pyperclip和regex搜索模式?_Regex_Python 2.7_Pyperclip - Fatal编程技术网

无法使用pyperclip和regex搜索模式?

无法使用pyperclip和regex搜索模式?,regex,python-2.7,pyperclip,Regex,Python 2.7,Pyperclip,虽然这看起来很粗略,但我正在为我的MGMT288类执行此操作,并尝试创建一个程序,从一组复制的文本中搜索SSN。我几乎没有python背景,只是在探索正则表达式和扩展pyperclip。目前,我的代码整体如下所示 import re,pyperclip SSNREG=re.compile(r'(\d{3})(-)?(\d{2})(-)?(\d{4})') SSN=[] CB=pyperclip.paste() for groups in SSNREG.findall(CB): SSN

虽然这看起来很粗略,但我正在为我的MGMT288类执行此操作,并尝试创建一个程序,从一组复制的文本中搜索SSN。我几乎没有python背景,只是在探索正则表达式和扩展pyperclip。目前,我的代码整体如下所示

import re,pyperclip

SSNREG=re.compile(r'(\d{3})(-)?(\d{2})(-)?(\d{4})')
SSN=[]
CB=pyperclip.paste()

for groups in SSNREG.findall(CB):
    SSN.append(groups[0])
if len(SSN)>0:
    pyperclip.copy('\n'.join(CB))
    print('Copied '+len(CB)+' SSN\'s to clipboard!')
    print('\n'.join(CB))
else:
    print('There were no SSN\'s to be found in the text.')
每当我用破折号复制了一个3-2-4位数的数字时,它仍然会打印出剪贴板中没有SSN,我也不知道出了什么问题


我刚刚将/d改为\d,但它似乎仍然没有找到任何内容。

您必须使用反斜杠
\d
来匹配数字。如果您不需要捕获组并且破折号不是可选的,那么匹配3-2-4的数字可以是
\d{3}-\d{2}-\d{4}
我认为应该是
\d
而不是
/d