Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正则表达式忽略特殊字符_Javascript_Regex - Fatal编程技术网

Javascript 正则表达式忽略特殊字符

Javascript 正则表达式忽略特殊字符,javascript,regex,Javascript,Regex,比如,我有一个文本存储为: var val1 = 'l-oreal'; 我想匹配val1,这样它会读取val1,并忽略其中的连字符(破折号)。我想要一个忽略文本中特殊字符的正则表达式。可能吗 我不想从文本中删除特殊字符。我想忽略它 您可以匹配正则表达式/[a-z]+/gi,然后通过空格或任何其他字符连接: var testString=“任意字符串l-orem”; 变量匹配器=/[a-z]+//gi; var matches=testString.match(matcher); var re

比如,我有一个文本存储为:

var val1 = 'l-oreal';
我想匹配
val1
,这样它会读取
val1
,并忽略其中的连字符(破折号)。我想要一个忽略文本中特殊字符的正则表达式。可能吗


我不想从文本中删除特殊字符。我想忽略它

您可以匹配正则表达式
/[a-z]+/gi
,然后通过空格或任何其他字符连接:

var testString=“任意字符串l-orem”;
变量匹配器=/[a-z]+//gi;
var matches=testString.match(matcher);
var result=matches.join(“”);

控制台日志(结果)
您可以匹配正则表达式
/[a-z]+/gi
,然后通过空格或任何其他字符连接:

var testString=“任意字符串l-orem”;
变量匹配器=/[a-z]+//gi;
var matches=testString.match(matcher);
var result=matches.join(“”);

控制台日志(结果)您可以使用
^
选择特殊字符,然后将其替换为空字符串
'
,如下所示:

val1.replace(/([^a-zA-z0-9]+)/g, s0 => ''); // loreal
将删除除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

您可以使用
^
选择特殊字符,然后将其替换为空字符串
'
,如下所示:

val1.replace(/([^a-zA-z0-9]+)/g, s0 => ''); // loreal
将删除除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
VarVal1='l-oreal';
var val2=val1。替换(/\W/g',);//删除任何非字母数字
console.log(val1);//还是一样,没有改变
console.log(val2);//仅字母数字
VarVal1='l-oreal';
var val2=val1。替换(/\W/g',);//删除任何非字母数字
console.log(val1);//还是一样,没有改变


console.log(val2);//只有字母数字
那么
[a-zA-z0-9]*
你能给我你的特殊字符列表吗?@Allan所有的特殊字符。你问什么有点难理解?您的val1字符串上的正则表达式的预期结果是什么?到目前为止,你在代码方面做了哪些尝试?关于
[a-zA-z0-9]*
你能给我你的特殊角色列表吗?@Allan所有特殊角色。你问的有点难理解?您的val1字符串上的正则表达式的预期结果是什么?到目前为止,您在代码方面尝试了什么?什么是matches.join(“”);做什么?你能告诉我吗?@FarazDurrani--请阅读。它返回一个与RegExp匹配的数组。我只是简单地将它们连接起来,再次创建一个字符串。我理解的情况是忽略。什么是g?什么是+?@FarazDurrani——你真的需要了解RegExp的基本知识。请参考好的教程<代码>+
用于匹配上一个令牌的一个或多个事件
g
在源字符串中进行全局匹配。是否可能regex必须包含某些字符,例如lorem,并排除所有特殊字符?什么是匹配项。join(“”);做什么?你能告诉我吗?@FarazDurrani--请阅读。它返回一个与RegExp匹配的数组。我只是简单地将它们连接起来,再次创建一个字符串。我理解的情况是忽略。什么是g?什么是+?@FarazDurrani——你真的需要了解RegExp的基本知识。请参考好的教程<代码>+用于匹配上一个令牌的一个或多个事件
g
在源字符串中进行全局匹配。是否可能regex必须包含某些字符,例如lorem,并排除所有特殊字符?@guijob可能这就是OP想要的。但是谢谢你的提醒,正则表达式是否可能必须包含某些字符,例如lorem,并排除所有特殊字符?@FarazDurrani你可以这样做。只需检查
var val3='sometext lorem othertext';var val4=val3.match(/lorem/g).join(“”)
它可以匹配lorem,但不会忽略连字符,是吗?@FarazDurrani你说你只想匹配
lorem
,所以它就是这么做的。@guijob也许这就是OP想要的。但是谢谢你的提醒,正则表达式是否可能必须包含某些字符,例如lorem,并排除所有特殊字符?@FarazDurrani你可以这样做。只需检查
var val3='sometext lorem othertext';var val4=val3.match(/lorem/g).join(“”)
它可以匹配lorem,但它不会忽略连字符,是吗?@FarazDurrani你说你只想匹配
lorem
,所以它就是这么做的。正则表达式是否可能必须包含某些字符,例如lorem,并排除所有特殊字符?我不明白。是否要将所有特殊字符更改为“lorem”作为示例?如。。必须包含字符的正则表达式,例如xyz,如果字符串包含特殊字符,则忽略连字符。例如。。。一个同时具有这两个属性的正则表达式。字符串必须包含字符abc并忽略任何特殊字符您可以使用
match
检查字符串是否包含正则表达式,我已编辑了我的响应以添加可能正则表达式必须包含某些字符,例如lorem,并排除所有特殊字符?我没有得到它。是否要将所有特殊字符更改为“lorem”作为示例?如。。必须包含字符的正则表达式,例如xyz,如果字符串包含特殊字符,则忽略连字符。例如。。。一个同时具有这两个属性的正则表达式。字符串必须包含字符abc并忽略任何特殊字符您可以使用
match
检查字符串是否包含正则表达式,我已经编辑了我的响应