我想创建一个正则表达式来查找所有包含方括号之间的数字的行 [1]
我使用了以下查询:
SELECT * FROM `Landscapes` WHERE `Description` REGEXP "\[(.*?)\]"
但是它返回所有行。
也
SELECT * FROM `Landscapes` WHERE `Description` REGEXP "\\[(.*?)\\]"
说这是无效的正则表达式。
我首先要找到正则表达式,然后再将其删除。
P.S::正则表达式可在C#中使用。因此,正则表达式是正确的。
答案 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