相当于 mysql 正则表达式
Equivalent to mysql regex
Mysql 此模式的正则表达式等效项:
<table (.+)width:(.+)px
我尝试将此模式放入我的查询中,但它仍然会命中没有该模式的项目。
我使用这个网站来检查项目是否符合上面的模式:
https://regex101.com/
这是我的查询:
select * from wp_posts where post_content regexp '<table (.+)width:(.+)px';
这是我的样本 post_content 是正确的:
<table class="table-schedule" style="width: 737px;">
<tbody>
<tr>
<th>営業時間</th>
<th>月</th>
<th>火</th>
<th>水</th>
<th>木</th>
<th>金</th>
<th class="holiday">土</th>
<th class="holiday">日</th>
<th class="holiday">祝</th>
</tr>
<tr>
<td>11:00~19:00</td>
<td class="weekday maru">○</td>
<td class="weekday maru">休</td>
<td class="weekday maru">○</td>
<td class="weekday maru">○</td>
<td class="weekday maru">○</td>
<td class="holiday">○</td>
<td class="holiday">○</td>
<td class="holiday">○</td>
</tr>
</tbody>
</table>
这是另一个错误的示例 post_content。即使 table:
上没有宽度,它仍然会命中
<table class="table-schedule">
<tbody>
<tr>
<th>営業時間</th>
<th>月</th>
<th>火</th>
<th>水</th>
<th>木</th>
<th>金</th>
<th class="holiday">土</th>
<th class="holiday">日</th>
<th class="holiday">祝</th>
</tr>
<tr>
<td style="text-align: center;">
<p>11:00~19:00</p>
</td>
<td class="weekday maru" style="text-align: center;">○</td>
<td class="weekday maru" style="text-align: center;">休</td>
<td class="weekday maru" style="text-align: center;">○</td>
<td class="weekday maru" style="text-align: center;">休</td>
<td class="weekday maru" style="text-align: center;">○</td>
<td class="holiday" style="text-align: center;">休</td>
<td class="holiday" style="text-align: center;">休</td>
<td class="holiday" style="text-align: center;">休</td>
</tr>
<tr>
<td style="text-align: center;">
<p>11:00~17:00</p>
</td>
<td style="text-align: center;">休</td>
<td style="text-align: center;">○</td>
<td style="text-align: center;">休</td>
<td style="text-align: center;">○</td>
<td style="text-align: center;">休</td>
<td style="text-align: center;">○</td>
<td style="text-align: center;">休</td>
<td style="text-align: center;">休</td>
</tr>
</tbody>
</table>
注:mysql版本5.6
虽然您当前的正则表达式模式有效,但它不会按照您想要的方式运行,因为 (.+)
术语可能会跨标签匹配。试试这个版本:
SELECT *
FROM wp_posts
WHERE post_content REGEXP '<table [^>]+width: [0-9]+px';
Mysql 此模式的正则表达式等效项:
<table (.+)width:(.+)px
我尝试将此模式放入我的查询中,但它仍然会命中没有该模式的项目。
我使用这个网站来检查项目是否符合上面的模式: https://regex101.com/
这是我的查询:
select * from wp_posts where post_content regexp '<table (.+)width:(.+)px';
这是我的样本 post_content 是正确的:
<table class="table-schedule" style="width: 737px;">
<tbody>
<tr>
<th>営業時間</th>
<th>月</th>
<th>火</th>
<th>水</th>
<th>木</th>
<th>金</th>
<th class="holiday">土</th>
<th class="holiday">日</th>
<th class="holiday">祝</th>
</tr>
<tr>
<td>11:00~19:00</td>
<td class="weekday maru">○</td>
<td class="weekday maru">休</td>
<td class="weekday maru">○</td>
<td class="weekday maru">○</td>
<td class="weekday maru">○</td>
<td class="holiday">○</td>
<td class="holiday">○</td>
<td class="holiday">○</td>
</tr>
</tbody>
</table>
这是另一个错误的示例 post_content。即使 table:
上没有宽度,它仍然会命中<table class="table-schedule">
<tbody>
<tr>
<th>営業時間</th>
<th>月</th>
<th>火</th>
<th>水</th>
<th>木</th>
<th>金</th>
<th class="holiday">土</th>
<th class="holiday">日</th>
<th class="holiday">祝</th>
</tr>
<tr>
<td style="text-align: center;">
<p>11:00~19:00</p>
</td>
<td class="weekday maru" style="text-align: center;">○</td>
<td class="weekday maru" style="text-align: center;">休</td>
<td class="weekday maru" style="text-align: center;">○</td>
<td class="weekday maru" style="text-align: center;">休</td>
<td class="weekday maru" style="text-align: center;">○</td>
<td class="holiday" style="text-align: center;">休</td>
<td class="holiday" style="text-align: center;">休</td>
<td class="holiday" style="text-align: center;">休</td>
</tr>
<tr>
<td style="text-align: center;">
<p>11:00~17:00</p>
</td>
<td style="text-align: center;">休</td>
<td style="text-align: center;">○</td>
<td style="text-align: center;">休</td>
<td style="text-align: center;">○</td>
<td style="text-align: center;">休</td>
<td style="text-align: center;">○</td>
<td style="text-align: center;">休</td>
<td style="text-align: center;">休</td>
</tr>
</tbody>
</table>
注:mysql版本5.6
虽然您当前的正则表达式模式有效,但它不会按照您想要的方式运行,因为 (.+)
术语可能会跨标签匹配。试试这个版本:
SELECT *
FROM wp_posts
WHERE post_content REGEXP '<table [^>]+width: [0-9]+px';