gpt4 book ai didi

java - 正则表达式匹配字符但不在正则表达式内

转载 作者:行者123 更新时间:2023-12-02 04:23:29 25 4
gpt4 key购买 nike

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

最佳答案

您需要一个正则表达式来匹配任何后面不跟奇数引号的分号。

;(?![^"]*(([^"]*"[^"]*"){2})*[^"]*"[^"]*$)

棘手的部分是找到 negative lookahead (?![^"]*(([^"]*"[^"]*"){2})*[^"]*"[^"]*$):

  • [^"]* 匹配 之后第一个 " 之前的任何文本;
  • (([^"]*"[^"]*"){2})* 匹配任意偶数个带有文本的引号
  • [^"]*"[^"]*$ 与最后一个引号匹配

如果以上条件都满足,则;后面会出现奇数个",这意味着;在里面两个 ",因此它不是有效的 ;

正则表达式:https://regex101.com/r/dG6cC1/1

Java 演示:https://ideone.com/OuAaA5

关于java - 正则表达式匹配字符但不在正则表达式内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32480648/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com