Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 正则表达式在一个表达式中查找并替换多个不同类型的字符_Regex_Sublimetext2 - Fatal编程技术网

Regex 正则表达式在一个表达式中查找并替换多个不同类型的字符

Regex 正则表达式在一个表达式中查找并替换多个不同类型的字符,regex,sublimetext2,Regex,Sublimetext2,我需要将文档中所有左{和右}花括号以及所有百分号%替换为它们各自的HTML实体 我在“查找和替换”中使用了Sublime Text 2漂亮的小星星图标/按钮。我想出了(\{)(\})(\%)来匹配我需要的字符。也许有更好的方法,但是嘿。。。它似乎起作用了 这个替换字符串是什么样子的?我指的是一个表达式,不是用编程语言 基本上,它是用一些东西取代我在group$1中找到的东西,然后用其他东西取代group$2中找到的东西。此处为伪代码: (\{)|(\})|(\%) ==> $1 r

我需要将文档中所有左
{
和右
}
花括号以及所有百分号
%
替换为它们各自的HTML实体

我在“查找和替换”中使用了Sublime Text 2漂亮的小星星图标/按钮。我想出了
(\{)(\})(\%)
来匹配我需要的字符。也许有更好的方法,但是嘿。。。它似乎起作用了

这个替换字符串是什么样子的?我指的是一个表达式,不是用编程语言

基本上,它是用一些东西取代我在group
$1
中找到的东西,然后用其他东西取代group
$2
中找到的东西。此处为伪代码:

    (\{)|(\})|(\%) ==> $1 replace with { AND $2 replace with } AND... etc. 
这可能吗?如果需要,我可以提供一些目标样本数据

背景故事 在HAML中,这三个字符不能按原样放置在属性值中,如

:text => "blabliblu {20% lalla...}"
等等,没有逃脱


理论上,百分号可以用
\%
转义,但花括号不能用
\{
\}
转义,至少在我用Livereload(Win7)预处理HAML时不能。也许是红宝石的东西?无论如何,我选择HTML实体方法。

您需要一个正则表达式来完成三个正则表达式的工作。我不认为这在sublime文本中的正则表达式中是可能的,也不明白为什么不能只使用三个正则表达式,或者一些实际上适合这种工作的工具,比如sed、perl、python或ruby。