我使用的是grepWin Windows工具,我想找到任何可能包含“开始交易”,空格或“ st_message_index”的字符
然后提交;
它应该匹配这样的东西:
enter code heredeclare continue handler;
start transaction;
select n.id as messageIndexId
from st_message_index
commit;
end main $$`
并且不匹配这样的东西
declare continue handler;
start transaction;
select n.id as messageIndexId
from employee
commit;
end main $$
这些都不起作用:
transaction[\w\s]+audittrail[\w\s]+commit
start transaction;.*[\w\s]+st_message_index.*[\w\s]+commit
.*[\w\s]+.*start transaction;.*[\w\s]+.*st_message_index.*[\w\s]+.*commit;.*[\w\s]+.*
如果在mysql查询中找到使用正则表达式的任何解决方案,请找到适用于我并解决我的问题的过程定义。
就像是
select name
FROM mysql.proc
WHERE body regexp 'transaction[\w\s]+audittrail[\w\s]+commit';
最佳答案
这个正则表达式会给我我想要的。感谢@asherber提供到regex101.com网站的链接
start transaction[\w\s=;\(\),.*]*audittrail[\w\s=;\(\),.*]*commit
关于mysql - grepWin中的正则表达式可匹配三个指定的单词,这些单词之间用文本块中的任何内容分隔,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49239610/