这不应该是一个难以实现的目标,但在阅读了有关正则表达式之后,我仍然无法解决这个问题。我的问题是我需要找到ó 之间的字符 (val =='')并用 \ u00F3 替换它们(首先(val =='是开始序列,第二个是结束)。
这将发生在大约80个文件中,因此它必须非常精确。每个块中的字符数都不同,每部电影都有几个替代品 - 但我想Sublime会照顾它。
示例,
中的部分代码 function Update_qu887() {
var val = VarQuestion_0010.getValue()
radio891.objLyr.doc.getElementById("radio891id").checked=(val=='gotówk\u0119, u015Brodki trwa\u0142e, kredyty, lokaty mi\u0119dzybankowe czynne, papiery warto\u015Bciowe oraz inne aktywa')
radio893.objLyr.doc.getElementById("radio893id").checked=(val=='gotówk\u0119, \u015Brodki trwa\u0142e, kredyty, lokaty mi\u0119dzybankowe czynne, aktywa trwa\u0142e, kredyty hipoteczne')
radio895.objLyr.doc.getElementById("radio895id").checked=(val=='lokaty mi\u0119dzybankowe czynne, papiery warto\u015Bciowe, inne aktywa, klientów instytucjonalnych, klientów indywidualnych')
qu887.hasBeenProcessed=false;
}
您可以看到ó 需要替换为此代码 \ u00F3 ,以便它可以作为一个整体正常运行。所以结束代码看起来像这样
function Update_qu887() {
var val = VarQuestion_0010.getValue()
radio891.objLyr.doc.getElementById("radio891id").checked=(val=='got\u00F3wk\u0119, u015Brodki trwa\u0142e, kredyty, lokaty mi\u0119dzybankowe czynne, papiery warto\u015Bciowe oraz inne aktywa')
radio893.objLyr.doc.getElementById("radio893id").checked=(val=='got\u00F3wk\u0119, \u015Brodki trwa\u0142e, kredyty, lokaty mi\u0119dzybankowe czynne, aktywa trwa\u0142e, kredyty hipoteczne')
radio895.objLyr.doc.getElementById("radio895id").checked=(val=='lokaty mi\u0119dzybankowe czynne, papiery warto\u015Bciowe, inne aktywa, klient\u00F3w instytucjonalnych, klient\u00F3w indywidualnych')
qu887.hasBeenProcessed=false;
}
答案 0 :(得分:0)
以下正则表达式会找到所有(val=='xxx
后跟ó
并将其替换为(val=='xxx\u00F3
(xxx可以是任何不包含'
的字符串)
s/(\(val=='[^']*?)ó/\1\\u00F3/g
注意:
(
和\
是正则表达式中的特殊字符,因此它们在正则表达式中以\
为前缀。
(val=='[^']*?
。捕获的值在替换中用作\1
。 [^']*?
匹配除'
之外的任何字符序列。
您没有指定所需的语法。我认为上面的正则表达式适用于perl和sed。