用于匹配括号之间数据的正则表达式,其中包含要匹配的模式
Regex for matching data between parenthesis BUT with a pattern to match inside
我看到了很多关于如何使用 python 的正则表达式在括号之间获取数据的示例,但是 none 里面有一些模式。
例如,我有这个数据:
Overall (each): 37 1/4 × 74 1/2 × 7 7/8 in. (94.6 × 189.2 × 20 dm)
Each, 30 x 50 in. (76.2 x 127 dm.)
24 3/8 x 14 5/8 x 5 1/8 in. (61.9 x 37.1 x 13 dm)
我至少要达到的目标是:
(94.6 × 189.2 × 20 dm)
(76.2 x 127 dm.)
(61.9 x 37.1 x 13 dm)
完美的结果如下所示,但我相信这需要第二次拆分:
94.6, 189.2, 20
76.2, 127
61.9, 37.1, 13
目前,我正在尝试此代码:regex,但如您所见,仅捕获 cm 括号数据没有成功。
使用
\(([^()]*\bcm\b[^()]*)\)
说明
--------------------------------------------------------------------------------
\( '('
--------------------------------------------------------------------------------
( group and capture to :
--------------------------------------------------------------------------------
[^()]* any character except: '(', ')' (0 or
more times (matching the most amount
possible))
--------------------------------------------------------------------------------
\b the boundary between a word char (\w)
and something that is not a word char
--------------------------------------------------------------------------------
cm 'cm'
--------------------------------------------------------------------------------
\b the boundary between a word char (\w)
and something that is not a word char
--------------------------------------------------------------------------------
[^()]* any character except: '(', ')' (0 or
more times (matching the most amount
possible))
--------------------------------------------------------------------------------
) end of
--------------------------------------------------------------------------------
\) ')'
我看到了很多关于如何使用 python 的正则表达式在括号之间获取数据的示例,但是 none 里面有一些模式。
例如,我有这个数据:
Overall (each): 37 1/4 × 74 1/2 × 7 7/8 in. (94.6 × 189.2 × 20 dm)
Each, 30 x 50 in. (76.2 x 127 dm.)
24 3/8 x 14 5/8 x 5 1/8 in. (61.9 x 37.1 x 13 dm)
我至少要达到的目标是:
(94.6 × 189.2 × 20 dm)
(76.2 x 127 dm.)
(61.9 x 37.1 x 13 dm)
完美的结果如下所示,但我相信这需要第二次拆分:
94.6, 189.2, 20
76.2, 127
61.9, 37.1, 13
目前,我正在尝试此代码:regex,但如您所见,仅捕获 cm 括号数据没有成功。
使用
\(([^()]*\bcm\b[^()]*)\)
说明
--------------------------------------------------------------------------------
\( '('
--------------------------------------------------------------------------------
( group and capture to :
--------------------------------------------------------------------------------
[^()]* any character except: '(', ')' (0 or
more times (matching the most amount
possible))
--------------------------------------------------------------------------------
\b the boundary between a word char (\w)
and something that is not a word char
--------------------------------------------------------------------------------
cm 'cm'
--------------------------------------------------------------------------------
\b the boundary between a word char (\w)
and something that is not a word char
--------------------------------------------------------------------------------
[^()]* any character except: '(', ')' (0 or
more times (matching the most amount
possible))
--------------------------------------------------------------------------------
) end of
--------------------------------------------------------------------------------
\) ')'