[英]regex to ignore special characters
说,我有一个文本存储为:
var val1 = 'l-oreal';
我想匹配val1
这样它将读取val1
并忽略其中的连字符(破折号)。 我想要一个正则表达式,忽略文本中的特殊字符。 那可能吗?
我不想从文本中删除特殊字符。 我想忽略它。
您可以与正则表达式/[az]+/gi
匹配,然后以空格或任何其他字符加入:
var testString = "any string l-orem"; var matcher = /[az]+/gi; var matches = testString.match(matcher); var result = matches.join(''); console.log(result);
当然,这不会更改您的原始字符串,并且可以根据您的需要进行简单地自定义。
您可以使用^
来选择特殊字符,然后将其替换为空字符串''
,如下所示:
val1.replace(/([^a-zA-z0-9]+)/g, s0 => ''); // loreal
除a-zA-Z-0-9
外a-zA-Z-0-9
所有内容都将被删除。
在以下情况下更新场景的帖子:
该字符串必须包含字符abc并忽略任何特殊字符
对于这种方法,您可以利用match来知道您的字符串在正则表达式上是否有任何匹配项。 如果是这样,则可以使用replace将特殊字符切换为空字符串:
function strChecker(str) {
var response;
if(val1.match(/lorem/)) {
response = val1.replace(/([^a-zA-z0-9]+)/g, s0 => '');
}
return response;
}
strChecker('ha-ha?lorem') // returns hahalorem
strChecker('ha-ha?loram') // return undefined
var val1 = 'l-oreal'; var val2 = val1.replace(/\\W/g,''); // remove any non-alphanumerics console.log(val1); // still the same, not changed console.log(val2); // only alphanumerics
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.