如何使用正则表达式匹配未用方括号和圆括号包围的字符串

问题描述 投票:0回答:1

我有一个字符串集合,例如,采用以下形式:

(GOOGL)  [ST]S (partial) 02/01/2024 03/01/2024 $1,001 - $15,000

(PHG)  [ST]P 02/12/2024 03/01/2024 $1,001 - $15,000

(PFE)  [ST] P 02/12/2024 03/01/2024 $1,001 - $15,000

(UL)
[ST]S 02/12/2024 03/01/2024 $1,001 - $15,000

我想找到一种模式来返回第三组字符(例如,第一行中的“S”),每行不被括号或括号包围。

下面的模式获取每个大写字符串(例如,GOOG、ST、S):

([A-Z]+)

我如何分别从每一行返回“S”、“P”、“P”和“S”,它们永远不会被圆括号或方括号包围(或者,至少有一个,有时两个,之前或之后有一个空格)?

python regex
1个回答
0
投票

正则表达式模式适用于此:

import re

pattern = re.compile(r'\([^)]*\)\s*\[[^\]]*\]\s*([A-Z])\s')
© www.soinside.com 2019 - 2024. All rights reserved.