繁体   English   中英

javascript简单的Regex

[英]javascript simple Regex

嗨,下面的javascript我想要一个正则表达式,它将用\\ Left方括号替换所有左方括号的实例,用\\加上右方括号替换右方括号,或者用\\点替换句号。

<script type="text/javascript" type="text/javascript">

        $(document).ready(function () {
            var someId = '#Something[0].AnotherSelected[5].Validator';

            alert(s);
        });

    </script>
var str = 'something[.something]].something[';
console.log(str.replace(/[\[\]\.]/g, '\\\\'));

输出

something\\\\something\\\\\\something\\';

[编辑-根据以下OP的评论:

console.log(str.replace(/[\[\]\.]/g, function($0) { return '\\\\'+$0; }))

首先,我们需要一个匹配'[',']'和'。的正则表达式。 全球。
此正则表达式如下所示:

 /(\[|\]|\.)/g

然后,我们用匹配的子字符串$&连接的\\\\替换每个事件

var someId  = "#Something[0].AnotherSelected[5].Validator";
var newstr  = someId.replace(/(\[|\]|\.)/g, "\\\\$&")
alert(newstr)​

输出是

 #Something\\[0\\]\\.AnotherSelected\\[5\\]\\.Validator 

您可以在jsfiddle上进行测试

someId = someId.replace(/\[/g, "\\\\[").replace(/\./g, "\\\\.");
someId = someId.replace(/[][.]/g, '\\\\$&');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM