1)我试图用正则表达式来匹配字符串的全部部分。这是一个贪婪的问题,i think.Below是正在考虑的pl/sql的结构。
ERRORHANDLER
WHEN TRUE THEN
IF SOMETHING THEN
ELSE
END IF;
WHEN FALSE THEN
END;下面是我设计的匹配^(\s*)ERRORHANDLER((?!FUNCTION).)END[(\s)(\w+)|;]的正则表达式
在哪里,
^(\s*)ERRORHANDLER-匹配随机空间和静态字符串ERRORHANDLER,这将始终是模式的开始。
((?!FUNCTION).)* -贪婪地展望未来*
END[(\s*)(\w+)|;] -匹配结束与可选字符串以分号结尾.
虽然我确信匹配字符串的方法,但是这个正则表达式没有正确地匹配它。
预期输出:
完全匹配
ERRORHANDLER
WHEN TRUE THEN
IF SOMETHING THEN
ELSE
END IF;
WHEN FALSE THEN
END;发布于 2018-11-01 14:45:25
因为这里的开头和结尾都是基于字的,所以它需要使用边界,并且包含在2下面,
因此,对于这个问题,这个正则表达式将匹配\bERRORHANDLER\w|\W+END\b;
https://stackoverflow.com/questions/53099926
复制相似问题