Pat*_*ick 19 javascript regex string replace
我正在尝试使用正则表达式进行基本的字符串替换,但我找到的答案似乎没有帮助 - 他们直接回答每个人的独特要求,几乎没有解释.
我现在正在使用str = str.replace(/[^a-z0-9+]/g, '');.但我想要做的是允许所有字母数字字符(az和0-9)以及' - '字符.
你能否回答这个问题并解释你如何连接表达式.
koo*_*jah 36
这应该工作:
str = str.replace(/[^a-z0-9-]/g, '');
Run Code Online (Sandbox Code Playgroud)
它之间的一切都表明了你在寻找什么
/ 在这里划分你的模式,所以你有一个开始,一个结束[] 表示您在一个特定角色上寻找的模式^ 表示您希望每个字符与下面的内容不对应a-z 匹配包含的'a'和'z'之间的任何字符0-9 匹配包含在'0'和'9'之间的任何数字(表示任何数字)- 人物g 最后是一个特殊的参数,说你不希望你的正则表达式停止匹配你的模式的第一个字符,但继续整个字符串然后你的表达式由/前后分隔.所以在这里你说"每个字母都不是字母,数字或' - '将从字符串中删除".
只需+改为-:
str = str.replace(/[^a-z0-9-]/g, "");
Run Code Online (Sandbox Code Playgroud)
您可以将其读作:
[^ ]:匹配集合中的NOT[^a-z0-9-]:匹配,如果没有a-z,0-9或-/ /g:做全球比赛更多信息: