【发布时间】:2012-07-22 03:28:03
【问题描述】:
如何查找不在字符串中的关键字。
例如,如果我有文字:
你好,本文是一个例子。
bla bla bla "此文本在字符串中"
"随机字符串" more text bla bla bla "foo"
我希望能够匹配所有不在" " 中的单词text。在其他我想匹配:
注意我不想匹配以红色突出显示的文本,因为它在字符串中
可能的解决方案:
我一直在努力,这就是我目前所拥有的:
(?s)((?<q>")|text)(?(q).*?"|)
请注意,正则表达式将 if 语句用作:(?(predicate) true Alternative|false Alternative)
因此正则表达式将显示为:
找到 " 或文本。如果找到 " 然后继续选择直到再次找到 " (.*?") 如果找到文本则什么也不做...
当我运行该正则表达式时,我匹配整个字符串。我问这个问题是为了学习。我知道我可以删除所有字符串然后查找我需要的内容。
【问题讨论】:
-
您是否尝试过在线正则表达式生成器,例如:txt2re.com/index-csharp.php3
-
为什么要匹配一个你知道的字符串?你打算如何处理结果。意图对于其他人能够给出适当的答案很重要。
-
你不需要知道问题的意图就能回答它。您还假设他知道字符串是什么。他只是举例说明他正在尝试做什么,而这些不一定是他最终会使用的。他正在寻找一个特定的结果,如何使用该结果与我们无关。