我正在尝试使用正则表达式进行基本的字符串替换,但我找到的答案似乎没有帮助 - 他们直接回答每个人的独特要求,很少或没有解释。
我目前正在使用 str = str.replace(/[^a-z0-9+]/g, '');
。但我想做的是允许所有字母数字字符(a-z 和 0-9)以及“-”字符。
您能否回答这个问题并解释一下如何连接表达式。
最佳答案
这应该有效:
str = str.replace(/[^a-z0-9-]/g, '');
之间的所有内容都表示您正在寻找的内容
/
用于界定您的模式,以便您有一个开始,一个结束[]
表示您在某个特定字符上查找的模式^
表示您希望每个字符与后面的内容不对应a-z
匹配“a”和“z”之间的任何字符0-9
匹配“0”和“9”之间的任何数字(表示任何数字)-
“-”字符
末尾的 g
是一个特殊参数,表示您不希望正则表达式在与您的模式匹配的第一个字符处停止,而是在整个字符串上继续
然后你的表达式前后由 /
分隔。
所以这里你说“每个不是字母、数字或‘-’的字符都将从字符串中删除”。
关于javascript - 正则表达式字符串替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13726429/