Regex 正则表达式仅在后面不跟另一个字符时匹配一个字符,然后仅替换该初始字符

Regex 正则表达式仅在后面不跟另一个字符时匹配一个字符,然后仅替换该初始字符,regex,Regex,比如说, (/=[^>]/, '═') 我想保持匹配,但只用双水平线替换等号。事实上,它匹配任何“=”,后跟任何不是“>”的字符,然后用替换字符替换“=”和下面的字符,我想保留下面的字符,但只替换“=”。这是在ruby中,如果它在语法上有任何区别的话 输入示例: = render :partial => 'file' 第一个=应该转换,第二个应该保留取决于您的正则表达式库(我不知道Ruby),您可以使用零宽度断言: /=(?!>)/ 请注意,此正则表达式与您的正则表达式略

比如说,

(/=[^>]/, '═')
我想保持匹配,但只用双水平线替换等号。事实上,它匹配任何“=”,后跟任何不是“>”的字符,然后用替换字符替换“=”和下面的字符,我想保留下面的字符,但只替换“=”。这是在ruby中,如果它在语法上有任何区别的话

输入示例:

= render :partial => 'file'

第一个=应该转换,第二个应该保留取决于您的正则表达式库(我不知道Ruby),您可以使用零宽度断言:

/=(?!>)/
请注意,此正则表达式与您的正则表达式略有不同,但它更符合您在标题中给出的描述。它将匹配任何未后跟
=
。这包括在文本末尾匹配您的版本不匹配的
=

像这样吗?(我使用的是
-
而不是您的特殊字符):

内部评级机构内部:

ruby-1.9.2-p0 > "=x".gsub(/=([^>])/, '-\1')
 => "-x" 

ruby-1.9.2-p0 > "=>".gsub(/=([^>])/, '-\1')
 => "=>" 

请举例说明输入和输出。如果你的目标是错误的,那么你现有的正则表达式就无法证明你的目标。