例如,我的输入是:
你好戴维斯,苏珊说,#34;她不得不跑腿#34;萨拉在那里说,"你需要帮助吗?但我回答说#34;不,我很好。"
我需要找到没有引号的任何字符串。在这里,字符串是你需要任何帮助吗?。
答案 0 :(得分:2)
没有。您可以做的最好的事情是使用单引号匹配行,但这会将多行引号标记为问题。你要求的是需要智能语言解析,这是不可用的。
答案 1 :(得分:1)
正如Khauri McClain所说,这不是完全证据。如果你使用类似的东西:
(\ s [\"] + [a-zA-Z0-9 \,] + [。!\?])+([\ s] {1})
表示示例中的搜索表达式,\ 1 \" \ 2表示替换表达式,它适用于您的示例。我在文本编辑器中粘贴了几行并替换了丢失的\"如下面第2行所示。
<强>代替强>
你好戴维斯,苏珊说,#34;她不得不跑腿#34;萨拉在那里说'#34;你需要帮助吗?&#34;但我回答说#34;不,我很好。&#34;
你好戴维斯,苏珊说,#34;她不得不跑腿#34;萨拉在那里说'#34;你需要帮助吗?&#34;但我回答说#34;不,我很好。&#34;
未替换
你好戴维斯,苏珊说,#34;她不得不跑腿#34;萨拉在那里说,&#34;你需要帮助吗?但我回答说#34;不,我很好。&#34;
你真的需要知道标点符号规则,否则这种方法会非常脆弱。
例如,&#34;她必须跑腿#34;。通常应该以......差事结束。&#34;
所以,如果你不小心,你可以把事情弄得一团糟。
修改:我想再添加一件事。我最近对一些文档(15)进行了类似的编辑,但我不得不将问题分解为多次传递。每次通过处理一个替换案例。
如果我有很多文档而且我的生活依赖于准确性,我会编写一个程序来进行编辑。我的最后2美分值。