2017-03-08 39 views
2

使用多个指示我:在一个正则表达式(JS)

var myText = <"input"> 

我要砍下字符串只输入。有可能定义一个正则表达式,这是否?我知道如何摆脱<“

myText = myText.replace(/<"/,g,'') 

但对于一行的末尾当然,我可以只写另一个正则表达式,是这样的:

myText = myText.replace(/<"/,g,'').replace(/">/,g,'') 

但我敢肯定有一个更简单的方法,正确的:)

回答

1

使用正则表达式匹配启动或序列

var myText = "<input>"; 
myText.replace(/^<"|">$/g, '') 
1

相反,你可以使用.match()方法:

var myText = "<input>"; 
 

 
console.log(myText.match(/[(a-z)]+/g)[0]);

1

的结束,您可以使用character class []指定任何本字符:

var myText = '<input>'; 
 
console.log(myText.replace(/[<>]/g, ''));

如果您要更换任何非字母数字字母,你可以这样做:

var myText = '<input>'; 
 
console.log(myText.replace(/[^a-zA-Z0-9]/g, ''));

1

你可以这样做:

var myText = '<input>'; 
myText.replace(/<(.*)>/, '$1'); 

或者

myText.match(/<(.*)>/)[1] 
1
var myText = "<input>"; 
console.log(myText.replace(/(^<)|(>$)/g, ''); 
+0

谢谢。让我们说我实际上有一个“/”,我想要删除,为什么下面的代码不工作? var myText =“”; console.log(myText.replace(/(^ <)|(/> $)/ g,''); – Faizy

+1

/(^ <)|(\/*> $)/ g –

+0

Thanks!Copuld you explain,what the“\”does?@Choo Hwan – Faizy