我如何编写一个匹配包含三个Y实例(大写Y)的字符串的正则表达式,不包括Y的实例:
在前面加上:数字(0-9),+(加号), - (减号),“(双引号)或A(大写A),忽略空格和
< / LI>后跟a:u,],Q,T,O或t。
日期的一部分(MAY)
例如:
我试了一下regex101(click here),但我不知道如何处理更复杂的例子。
答案 0 :(得分:1)
您可以尝试这样的事情:
connection.query('SELECT `keys`.*,`transaction`.*,`keys`.`id` as kid, `transaction`.`id` as tid FROM `transaction` JOIN `keys` ON `keys`.`id` = `transaction`.`keys_id` WHERE `transaction`.`status_pay`= 1 and `transaction`.`status` = 1').then(function (rows) {
async.each(rows, function (record, next) {
async.each(inventory, function (rec, nex) {
connection.query('UPDATE `transaction` SET `amount_two`= `amount_two` + 1 WHERE `id`= \''+record.tid+'\'').then(function (err, res) {
console.log('3');
});
console.log(rec.id); /// 4317648454 ... etc..
});
});
});
&#13;
答案 1 :(得分:0)
这归结为:
not_this|not_that|leave_this|(but_this_is_what_I_want)
翻译成正则表达式, 可以 :
[-+\d\"]Y|Y[u\]QTOt]|(?i)MAY(?i-)(*SKIP)(*FAIL)|((?:Y\s*){3})
# -, + or digit before Y or
# Y, followed by u, a ], QTOt or
# if in MAY (case insensitive, this is what (?i) is for
# (*SKIP)(*FAIL) <-- important, do not backtrack
# or Y, followed by whitespaces, captured in a group, three times
以下粗体字母匹配:
Y Y Y
Y Y 21- Yu&amp; RP12BE15
Y Y 21- Yu&amp; RP12BE15Y
F19 vs40KETAP Y Y Y
Y 25-15BE22Y Y
Y g ^ 24-tu&amp;或15BE13Y F / M 4YO 14MAY GCCN
Y g ^ 24-tu&amp;或15BE13Y F / M 4YO 14MAY GCCY
demo can be found on regex101.com,这可以在PHP
中使用(例如,您没有指定任何编程语言)。这是你最初的目的吗?