Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.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
股票代码的正则表达式-Python_Python_Regex - Fatal编程技术网

股票代码的正则表达式-Python

股票代码的正则表达式-Python,python,regex,Python,Regex,我有一个推特列表。它们看起来像这样: data = [['trading $aa $BB stock market info'], ['$aa is $116 market is doing well $cc $ABC']] 我想提取股票行情: ['$aa', '$BB'] ['$aa', '$cc', '$ABC']] 我试过这个: for i in data: print re.findall(r'[$]\S*', str(i)) 而且,输出也包含116美元:

我有一个推特列表。它们看起来像这样:

data = [['trading $aa $BB stock market info'],
        ['$aa is $116 market is doing well $cc $ABC']]
我想提取股票行情:

['$aa', '$BB']
['$aa', '$cc', '$ABC']]
我试过这个:

for i in data:
    print re.findall(r'[$]\S*', str(i))
而且,输出也包含116美元:

['$aa', '$BB']
['$aa', '$116', '$cc', '$ABC']]

有什么建议吗?

匹配美元符号、一个字母,然后匹配任何非空格的内容:

re.findall(r'[$][A-Za-z][\S]*', str(i))

匹配美元符号、一个字母,然后匹配任何非空格的内容:

re.findall(r'[$][A-Za-z][\S]*', str(i))
包通过根据其配置创建自定义正则表达式来实现这一点。它使用创建的模式从文本中提取标记。或者,可以单独使用返回的模式

>>>进口分划器 >>>提取器=分划器。牵引器 >>>类型提取器.pattern >>>extractor.extractor比较FNGU与$WEBL与SOXL-谁赢了?那么$cldl和$Skyu呢?伊姆霍,SOXL是国王\nBTW,$w+$Z对还会增长吗? ['FNGU'、'WEBL'、'SOXL'、'CLDL'、'SKYU'、'W'、'Z'] >>>提取器。提取器BTC-USD、$ETH-USD和$ada-USD中哪一个最好?\n$Brk.a和$Brk.B是什么?比较MGC=F和SIL=F。 ['BTC-USD','ETH-USD','ADA-USD','BRK.A','BRK.B','MGC=F','SIL=F'] 包通过根据其配置创建自定义正则表达式来实现这一点。它使用创建的模式从文本中提取标记。或者,可以单独使用返回的模式

>>>进口分划器 >>>提取器=分划器。牵引器 >>>类型提取器.pattern >>>extractor.extractor比较FNGU与$WEBL与SOXL-谁赢了?那么$cldl和$Skyu呢?伊姆霍,SOXL是国王\nBTW,$w+$Z对还会增长吗? ['FNGU'、'WEBL'、'SOXL'、'CLDL'、'SKYU'、'W'、'Z'] >>>提取器。提取器BTC-USD、$ETH-USD和$ada-USD中哪一个最好?\n$Brk.a和$Brk.B是什么?比较MGC=F和SIL=F。 ['BTC-USD','ETH-USD','ADA-USD','BRK.A','BRK.B','MGC=F','SIL=F']
如果您只需要字母,可以使用[a-zA-Z]而不是\S。这取决于您的代码是什么。您可能还希望使用+而不是*,否则您将匹配数字前面的美元符号,而不匹配数字。如果标记符可以包含数字,但必须至少包含一个字母,您可以使用\$\d*[a-zA-Z]+\d*+如果您只需要字母,则可以使用[a-zA-Z]而不是\S。这取决于您的标记符是什么。您可能还希望使用+而不是*,否则您将匹配数字前面的美元符号,而不匹配数字。如果标记符可以包含数字,但必须至少包含一个字母,则可以使用\$\d*[a-zA-Z]+\d*+