擅长:python、mysql、java
<p>试试这个:</p>
<pre><code>(X=[^,]*)(?:.*])(.*)
</code></pre>
<pre class="lang-py prettyprint-override"><code>import re
source = """[Base Font : IOHLGA+Trebuchet, Font Size : 3.5324998, Font Weight : 0.0] [(X=250.44,Y=223.48499) height=3.5324998 width=4.2910004]DECEMBER 31,
[Base Font : IOFOEO+Imago-Book, Font Size : 3.876, Font Weight : 0.0] [(X=307.5,Y=240.48499) height=3.876 width=2.9970093]respectively. The net decrease in the revenue
[Base Font : IOHLGA+Trebuchet, Font Size : 3.5324998, Font Weight : 0.0] [(X=49.5,Y=233.98499) height=3.5324998 width=2.5690002](US$ in millions)""".split('\n')
pattern = r"(X=[^,]*)(?:.*])(.*)"
for line in source:
print(re.search(pattern, line).groups())
</code></pre>
<p>输出:</p>
<pre class="lang-none prettyprint-override"><code>('X=250.44', 'DECEMBER 31,')
('X=307.5', 'respectively. The net decrease in the revenue')
('X=49.5', '(US$ in millions)')
</code></pre>
<p>在所有捕获之前都有<code>X=</code>,所以我只是做了一个捕获组,如果有必要,可以随意添加非捕获组</p>