查找包含正则表达式[:digit:]的行

时间:2019-04-24 16:00:05

标签: mysql

我想创建一个正则表达式来查找所有包含方括号之间的数字的行 [1]

我使用了以下查询:

SELECT * FROM `Landscapes` WHERE `Description` REGEXP "\[(.*?)\]"

但是它返回所有行。

SELECT * FROM `Landscapes` WHERE `Description` REGEXP "\\[(.*?)\\]"

说这是无效的正则表达式。

我首先要找到正则表达式,然后再将其删除。

P.S::正则表达式可在C#中使用。因此,正则表达式是正确的。

1 个答案:

答案 0 :(得分:0)

const getExpiringContents = async () => { let businessUnits = Object.keys(contentFulSpaces); let expiringContentsAllBU = []; businessUnits.map( async (bu) => { await getOnlyContentWhatsNewReport(bu, (err, result) => { if(result) { let expiringContentsByBU = {}; expiringContentsByBU['businessUnit'] = bu; expiringContentsByBU['expiringContents'] = result; expiringContentsAllBU.push(JSON.parse(JSON.stringify(expiringContentsByBU))); } else console.log('No expiring contents found for WhatsNewSection'); }) }); console.log('result', expiringContentsAllBU); } 中的.*?部分应与每个正则表达式引擎中的所有内容匹配。因此,在MySQL中获取所有记录是合乎逻辑的。

您很有可能正在寻找正则表达式模式\\[(.*?)\\]

查询

\\[[0-9]+\\]

结果

SELECT * FROM `Landscapes` WHERE `Description` REGEXP "\\[[0-9]+\\]"

请参阅demo