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')
=> "=>"
请举例说明输入和输出。如果你的目标是错误的,那么你现有的正则表达式就无法证明你的目标。