例如,
(/=[^>]/, '═')
我想保持匹配,但只用双横线替换等号。事实上,它匹配任何后跟不是 '>' 的任何 '=' ,然后用替换字符替换 '=' 和后面的字符,我想保留下面的字符,但替换只是“=”。这是在 ruby 中,如果它有任何语法差异。
示例输入:
= render :partial => 'file'
第一个 = 应该被转换,第二个应该被保留
最佳答案
根据您的正则表达式库(我不知道 Ruby),您可以使用零宽度断言:
/=(?!>)/
请注意,此正则表达式与您的正则表达式略有不同,但它更符合您在标题中给出的描述。它将匹配后面没有
=
的任何 >
。这包括在文本末尾匹配 =
,您的版本将不匹配。关于正则表达式匹配一个字符,如果后面没有另一个字符,然后只替换那个初始字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4274211/