Javascript Regex替换"="“= =”;没有任何特殊字符
Javascript Regex to replace "=" to "==" without having any special character having it
我需要使用JavaScript替换=
到==
,条件是它不应该替换它已经为
-
==
-
>=
-
<=
-
=>
-
=<
text = text.replace(/=/, "==");
输入: Premium UserId=5||Premium UserId>=2
输出需要:
Premium UserId==5||Premium UserId>=2
使用以下正则表达式:
var str = 'Premium UserId=5||Premium = UserId>=2',
re = /([^=><])=([^=><]*?)/g;
console.log(str.replace(re, "$1==$2"));
您应该利用这个机会学习正则表达式查找。不幸的是,虽然JavaScript支持前向,但它不支持后向。因此,虽然正则表达式/=(?![>=<])/
将成功避免以下匹配:=<
和=>
,但它仍然会匹配其他所有内容。
然而,有一些方法可以在Javascript中模拟向后看。您可以使用下面的代码片段来实现您要做的事情:
var text = 'Premium UserId=5||Premium UserId>=2';
text = text.replace(/([>=<])?=(?![>=<])/g, function($0, $1) {
return $1 ? $0 : $0 + '=';
});
console.log(text)
也许是这样的?(将不匹配文本的开头或结尾…)
text=text.replace(/([^=><])=([^=><])/g, function (match,p1,p2){ return p1+"=="+p2; });
var text = "Premium UserId=5||Premium UserId>=2";
text=text.replace(/([^=><])=([^=><])/g, function (match,p1,p2){ return p1+"=="+p2; });
console.log(text)
试试这个方法
var input = "Premium UserId=5||Premium UserId>=2";
var regex = new RegExp( "(?:[0-9a-z's])=(?![<>])", "gi" );
var output = input.replace( regex , function(match){ return match.charAt(0) + "==" } );
console.log(output);
console.log("Premium UserId =5||Premium UserId>=2".replace( /(?:[0-9a-z's])=(?![<>])/gi, function(match){ return match.charAt(0) + "==" } ));
console.log("Premium UserId =>5||Premium UserId>=2".replace( /(?:[0-9a-z's])=(?![<>])/gi, function(match){ return match.charAt(0) + "==" } ));
var re = /(([^<>=])(={1,1})([^<>=]))/g
var tests = [
{in: 'Premium UserId=5||Premium UserId>=2', out: 'Premium UserId==5||Premium UserId>=2'},
{in: 'if (UserId == 5)', out: 'if (UserId == 5)'}
]
tests.forEach(function(test, idx){
var result = test.in.replace(re, '$2==$4') === test.out
console.log('test', idx, result)
})
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- jQuery中是否内置了任何字符串格式化函数
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- 有任何可能将facebook实时信使整合到一个网站中
- 是否有任何方法可以使用jQuery替换在数组中定义值的文本
- 铬:“;未捕获的语法错误:意外的标记:"
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- AJAX:$_GET不返回任何值
- javascript或css:如何隐藏后面跟着句点前缀的任何数字"1.文本”"2.文本“"
- 通过分离除“”之外的任何特殊字符来获得所有列表框值"通过jquery
- 是否有任何方法可以去除“"打印时从阵列中删除
- 我可以't克服这个错误“;未定义的局部变量或方法`f'"任何原因
- 为什么“;getElementsByTagName"找不到任何东西
- "Don't允许访问剪贴板“;不会'不允许在文本框中键入任何内容
- 是否有任何方法可以检测用户是否按下“按钮”;停留在页面上”;或“;离开页面"在beforeunload事件中
- 当添加“;目标“:"空白“;通过javascript链接,打开的选项卡是“;回收的“;(重复使用)-以任何方式
- 按钮“”的onclick功能;搜索书籍"是't工作是因为我没有;没有收到任何警报..没有调用函数Sen
- & lt;跨度id =“display_XXXXX"祝辞& lt; / span>没有显示任何东西,或者显示“未