【发布时间】:2019-12-15 16:48:10
【问题描述】:
这是 Delphi 10.3.3 IDE 的代码编辑器中的一行代码:
蓝色标识字符串常量:'ab''cd'
现在我尝试用正则表达式 (System.RegularExpressions) 匹配以下主题中的字符串:
ThisString := 'ab''cd'{'};
OtherString := 'simple';
- 如果我使用正则表达式
'.*',那么我会在 RegexBuddy 4.10 中得到这个结果:
- 如果我使用其他正则表达式
'.*?',我会得到以下结果:
您可以看到两个正则表达式都不匹配所需的正确结果。
如何解决这个困境?
【问题讨论】:
-
你是这个意思吗?
(?:'[^\s']+')+(?:{'})?;regex101.com/r/xLQarK/1 或者喜欢'[^{}]+'(?:{[^{}]+})?;regex101.com/r/7MOMkM/1 -
这与字符串不完全匹配:i.imgur.com/u3KeavI.png
-
你只想匹配
'ab''cd'吗? -
是的,正如我在问题中所问的那样。
-
这将匹配那些 stings regex101.com/r/nGnncu/1 或者您可以使用捕获组来确保在末尾有一个
;((?:'[^\s']+')+)[^\s;]*;(?!\S)regex101.com/r/Vluul9/1
标签: regex delphi delphi-10.3-rio