擅长:python、mysql、java
<p>如果要将每个字符串与每个正则表达式进行比较,请使用list和重新匹配地址:</p>
<pre><code>import re
result = [string+' | '+reg for reg in r['regex_search'] for string in a['strings_to_search']
if re.compile(reg).match(string)]
result
['AA1 BB2 CVC GF2|^(?=.*AA1).*$', 'PL3 4OR 91K GZ3|^(?=.*4OR)(?=.*GZ3).*$']
</code></pre>
<p>如果需要新的数据帧:</p>
<pre><code>new_df = pd.DataFrame({'matches': result })
new_df
matches
0 AA1 BB2 CVC GF2|^(?=.*AA1).*$
1 PL3 4OR 91K GZ3|^(?=.*4OR)(?=.*GZ3).*$
</code></pre>