我对正则表达式遇到的问题有些困惑
这是我的字符串:&Biblioteks&klasse &Test something & something
这是我的预期结果:Biblioteksklasse Test something & something
这是我的实际结果:Biblioteksklasse Test something something
这是我的问候:/^&|(?=\D)&/
有人知道我如何获得实际结果吗?
答案 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, '');