使用javascript中的正则表达式删除和字符

时间:2018-11-20 12:18:11

标签: javascript regex

我对正则表达式遇到的问题有些困惑

这是我的字符串:&Biblioteks&klasse &Test something & something

这是我的预期结果:Biblioteksklasse Test something & something

这是我的实际结果:Biblioteksklasse Test something something

这是我的问候:/^&|(?=\D)&/

有人知道我如何获得实际结果吗?

3 个答案:

答案 0 :(得分:2)

如果&放在char单词旁边,您似乎想删除它。

在这种情况下,请使用

s.replace(/&\b|\b&/g, '')

请参见this regex demo&\b匹配后跟单词char(字母,数字或&)的_,而\b&匹配后跟单词char的&。 / p>

如果您打算在非空格字符旁边删除它,请使用

s.replace(/&(?=\S)|(\S)&/g, '$1')

请参见this regex demo。符合条件:

  • &(?=\S)-一个&,后跟非空格字符
  • |-或
  • (\S)-第1组(在替换模式中后来称为$1):任何非空白字符
  • &-一个&字符。

答案 1 :(得分:1)

使用回头符可以写:

/(&(?=\w)|(?<=\w)&)/

答案 2 :(得分:1)

您可以使用以下简单的正则表达式:

&(?=\w)

它与'&'相匹配,并向前看以确保其后跟一个Word字符。

然后用replace empty string

使用方法:

var text = '&Biblioteks&klasse &Test something & something';
var regex = /&(?=\w)/g;
var output = regex.replace(text, '');