|
1
14
您可以用左引号替换单词字符前面的所有字符,用右引号替换单词字符后面的所有字符。
正如下面的评论所指出的,这不考虑标点符号,但很容易:
[ 编辑 :]对于不支持“向后看”的语言(如javascript),只要先替换所有面向前面的语言,就有两个选项:
(我保留了上面的原始解决方案,以防这对使用支持“向后看”的语言的人有帮助) |
|
|
2
5
你可能想看看
Pandoc
_
我最近写了一个javascript字体预处理引擎,除了其他功能外,它还可以替换引号;最后我基本上使用了 Renesis 但目前有一个失败的测试等待更智能的解决方案。
如果您有兴趣抄写我的代码(和/或根据您所做的工作提交补丁),请查看:
jsPrettify
.
|
|
|
3
3
|
|
4
2
以下只是通过交替的方式更改每个引号(然而,这个特定的示例将省略孤立的引号)。
完美的工作,只要你的文本纹理还没有被错误使用双引号搞砸。在英语中,引号从不嵌套。 |
|
|
5
0
我不这么认为 一般来说 这很容易,因为你必须准确地解释你的内容中每个双引号字符的含义。也就是说,我要做的是收集我感兴趣的所有文本节点,然后遍历并跟踪每个双引号实例的“开/关”(或“奇数/偶数”)性质。然后您可以知道要使用哪个替换实体。 |
|
|
6
0
我在这里找不到我想要的逻辑,所以这就是我最终要做的。
我有一个小的文本区域,我需要用卷曲(智能)引号替换直引号。我只是在keyup上执行这个逻辑。我试着让它表现得像微软的Word。 |
|
|
7
0
为后代过账。 根据@steven dee的建议,我去了 Pandoc . 我尽量使用一个成熟的和测试过的工具,无论什么时候我都可以与烘焙自己的regex相比。手工构建的regex可能过于贪婪,或者不够贪婪,它们可能对单词边界和逗号等不敏感。pandoc解释了这一点和更多。 从命令行(--smart参数打开smart引号):
…而且我知道命令行脚本可能或可能不符合OP的要求 使用javascript . (相关: How to execute shell command in Javascript ) |
|
|
DotFX · RegEx捕获关键字前但括号后的所有内容 1 年前 |
|
|
Andrus · 如何在sql中查找第二个匹配项 1 年前 |
|
|
iato · 确保正则表达式不从命名材料中的数字中提取 1 年前 |
|
|
vr8ce · 非成对标记中特定字符的正则表达式 1 年前 |
|
|
MARTIN · 交换第一个和最后一个单词,反转所有中间的字符 1 年前 |
|
|
Carsten · 使用最近的搜索模式更改文本块 1 年前 |