正则表达式在javascript中不允许

时间:2015-03-14 02:36:30

标签: javascript c# regex

我想选择所有文字字母 s 但不是文字 \ s

(?<!\\)s

在c#中工作,但我无法调整它以使用javascript。如何在javascript中禁用与所有文字 s 匹配的文字 \ s

例如int表达式:test \ ss应匹配te s t \ s s

修改 正如米奇所说,我想要捕捉所有不在文字\

之后的文字

2 个答案:

答案 0 :(得分:1)

您可以创建DIY边界...

var r = 'test\\ss'.replace(/(^|[^\\])s/gi, '$1ş');
console.log(r); //=> 'teşt\sş'

或使用解决方法:

var r = 'test\\ss'.replace(/(\\)?s/gi, function($0,$1) { return $1 ? $0 : 'ş'; });

答案 1 :(得分:0)

根据您在问题中的评论,请尝试使用

/(?:\B|\s)s/g

在浏览器控制台中尝试此操作以确认其有效

re = /(?:\B|\s)s/g;
str = 'test\\ss';
res = str.match(re)
console.log(str.replace(re, '0'));

res将有2个结果