用正则表达式替换Javascript
我正在使用RegExp生成slug。我是说“替换所有字符”与以下模式不匹配:用正则表达式替换Javascript,javascript,regex,slug,Javascript,Regex,Slug,我正在使用RegExp生成slug。我是说“替换所有字符”与以下模式不匹配: str = str.replace(new RegExp('[^a-z0-9-]','g'), ''); 它可以工作,但我需要问它是否是正确的方式/语法/方法 谢谢你的建议。1)你可以写 new RegExp('[^a-z0-9-]','g') 作为 您编写的正则表达式代表以下内容: 2) []中的任何字符都不是序列,但当[^]开头出现扬抑符时,它表示不在 3) a-z代表从a到z的所有字符(小写字母) 4) 0
str = str.replace(new RegExp('[^a-z0-9-]','g'), '');
它可以工作,但我需要问它是否是正确的方式/语法/方法
谢谢你的建议。1)你可以写
new RegExp('[^a-z0-9-]','g')
作为
您编写的正则表达式代表以下内容:
2) []中的任何字符都不是序列,但当[^]开头出现扬抑符时,它表示不在
3) a-z
代表从a到z的所有字符(小写字母)
4) 0-9
表示0到9以及结尾的连字符(-)。。。好吧,连字符
因此,您希望保留哪些字符?如果只想保留字母数字,则使用/[^A-Za-z0-9]/g
(这是区分大小写的版本)或/[^A-z0-9]/gi
不区分大小写
修饰符/标志:g
=全局,i
=不区分大小写
一个很好的地方:你可以写
new RegExp('[^a-z0-9-]','g')
作为
您编写的正则表达式代表以下内容:
2) []中的任何字符都不是序列,但当[^]开头出现扬抑符时,它表示不在
3) a-z
代表从a到z的所有字符(小写字母)
4) 0-9
表示0到9以及结尾的连字符(-)。。。好吧,连字符
因此,您希望保留哪些字符?如果只想保留字母数字,则使用/[^A-Za-z0-9]/g
(这是区分大小写的版本)或/[^A-z0-9]/gi
不区分大小写
修饰符/标志:g
=全局,i
=不区分大小写
一个很好的地方:你可以写
new RegExp('[^a-z0-9-]','g')
作为
您编写的正则表达式代表以下内容:
2) []中的任何字符都不是序列,但当[^]开头出现扬抑符时,它表示不在
3) a-z
代表从a到z的所有字符(小写字母)
4) 0-9
表示0到9以及结尾的连字符(-)。。。好吧,连字符
因此,您希望保留哪些字符?如果只想保留字母数字,则使用/[^A-Za-z0-9]/g
(这是区分大小写的版本)或/[^A-z0-9]/gi
不区分大小写
修饰符/标志:g
=全局,i
=不区分大小写
一个很好的地方:你可以写
new RegExp('[^a-z0-9-]','g')
作为
您编写的正则表达式代表以下内容:
2) []中的任何字符都不是序列,但当[^]开头出现扬抑符时,它表示不在
3) a-z
代表从a到z的所有字符(小写字母)
4) 0-9
表示0到9以及结尾的连字符(-)。。。好吧,连字符
因此,您希望保留哪些字符?如果只想保留字母数字,则使用/[^A-Za-z0-9]/g
(这是区分大小写的版本)或/[^A-z0-9]/gi
不区分大小写
修饰符/标志:g
=全局,i
=不区分大小写
一个好地方可以看:你可以这样做,或者
str=str.replace(/[^A-z0-9-]/g),”代码>最后一个连字符也是错误的-“*&%^$--KJHKJH”。替换(/[^a-z0-9]/g')
@epoch最后一个hypen是错误的?连字符是字符类中的特殊字符,应该转义。您可以这样做,或者str=str.replace(/[^a-z0-9-]/g),“”)代码>最后一个连字符也是错误的-“*&%^$--KJHKJH”。替换(/[^a-z0-9]/g')
@epoch最后一个hypen是错误的?连字符是字符类中的特殊字符,应该转义。您可以这样做,或者str=str.replace(/[^a-z0-9-]/g),“”)代码>最后一个连字符也是错误的-“*&%^$--KJHKJH”。替换(/[^a-z0-9]/g')
@epoch最后一个hypen是错误的?连字符是字符类中的特殊字符,应该转义。您可以这样做,或者str=str.replace(/[^a-z0-9-]/g),“”)代码>最后一个连字符也是错误的-“*&%^$--KJHKJH”。替换(/[^a-z0-9]/g')代码> @ EPOCH,其中最后一个Hypple是错误的。连字符是字符类中的特殊字符,它应该被转义。虽然这基本上是一个很好的答案,但您可能想考虑一个更好的格式,例如使用更多的代码块(除其他事项外),以增加可读性,从而使它成为一个更好的答案。谢谢你的建议。希望这个格式有帮助。老实说,我还没有研究过格式选项,我不知道除了在新行中添加代码和四个字符的缩进外,还能做什么。现在看起来好多了:)随着时间的推移,你将研究所有这些格式设置,并习惯它们。@YahyaE只需添加另一个(你可能想了解一下:))在第一个位置,只允许字符。@YahyaE这应该可以做到:src=src.replace(新的RegExp(“[^a-z0-9-]*”,“gi”),“)。replace(新的RegExp([^a-z]?([a-z0-9-]),“i”),“$1”)代码>虽然这基本上是一个很好的答案,但您可能需要考虑一个更好的格式,例如使用更多的代码块(除其他事项外),以增加可读性,从而使它成为一个更好的答案。谢谢你的建议。希望这个格式有帮助。老实说,我还没有研究过格式选项,我不知道除了在新行中添加代码和四个字符的缩进外,还能做什么。现在看起来好多了:)随着时间的推移,你会研究所有这些格式设置,你会习惯它们的。@YahyaE只需添加另一个(你可能想要)