股票代码的正则表达式-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*+