Loop over the search terms and check them each individually. No need for regex.
I would also question whether you really need jQuery; this code would have been just as easy to write without it and it’s then more flexible.
$(document).ready(function() {
(function($) {
$('#filter').keyup(function() {
var terms = this.value.split(' ');
$('.searchable tr').hide();
$('.searchable tr').filter(function() {
for (var term of terms) {
if (this.textContent.indexOf(term) < 0) return false;
}
return true;
}).show();
})
}(jQuery));
});
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<input id="filter" type="search" placeholder="Search">
<table>
<tbody class="searchable">
<tr>
<td>love and dance </td>
<td> something else</td>
</tr>
<tr>
<td>play and eat </td>
<td></td>
</tr>
<tr>
<td>love and roll </td>
<td></td>
</tr>
</tbody>
</table>