STOPATDESK YES;
:: TXT "LCLLMT:29.4700";
:: TXT "LCLCURR;NON-USD";
:: TXT "CALLBK:3";
:: TXT "FFTRL:EUR-LIM;-TAP-5";
STOPATDESK YES; :: TXT "LCLLMT:29.4700"; :: TXT "LCLCURR;NON-USD"; :: TXT "CALLBK:3"; :: TXT "FFTRL:EUR-LIM;-TAP-5";您能提供正则表达式,将匹配分号,但不在TXT "..."?
在StackOverflow上有几个有用的问题,但我未能为我的案例编写有效的解决方案
Regex for matching a character, but not when it's enclosed in square bracket
Regex for matching a character, but not when it's enclosed in quotes
发布于 2015-09-09 23:07:29
您需要一个匹配任何后面没有奇数个引号的分号的正则表达式。
;(?![^"]*(([^"]*"[^"]*"){2})*[^"]*"[^"]*$)棘手的部分是找到negative lookahead (?![^"]*(([^"]*"[^"]*"){2})*[^"]*"[^"]*$):
匹配最后一个引号之前的任何文本
(([^"]*"[^"]*"){2})*匹配具有文本的任意偶数个引号inside
[^"]*"[^"]*$ match [^"]* " 如果以上所有条件都匹配,则在;之后发现奇数个"。这意味着;在两个"中,因此它不是一个有效的;。
正则表达式:https://regex101.com/r/dG6cC1/1
Java演示:https://ideone.com/OuAaA5
https://stackoverflow.com/questions/32480648
复制相似问题