Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.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 为什么我必须在正则表达式中对回文使用replace?_Javascript_Regex - Fatal编程技术网

Javascript 为什么我必须在正则表达式中对回文使用replace?

Javascript 为什么我必须在正则表达式中对回文使用replace?,javascript,regex,Javascript,Regex,我在FreeCodeCamp做了一些挑战,我在一个基本的挑战中迷失了方向 要求检查回文。在解决方案中,我必须执行以下操作: str = str.replace(/[^a-zA-Z]/g, '').toLowerCase(); 但是我不明白为什么我必须使用replace方法和正则表达式 任何人都可以帮我吗?请输入以下代码: str.replace(/[^a-zA-Z]/g, '').toLowerCase() 您将删除所有不是A-Z和A-Z字母的字符,然后将替换的字符串设置为小写。字符类开头的

我在FreeCodeCamp做了一些挑战,我在一个基本的挑战中迷失了方向 要求检查回文。在解决方案中,我必须执行以下操作:

str = str.replace(/[^a-zA-Z]/g, '').toLowerCase();
但是我不明白为什么我必须使用replace方法和正则表达式

任何人都可以帮我吗?

请输入以下代码:

str.replace(/[^a-zA-Z]/g, '').toLowerCase()
您将删除所有不是A-Z和A-Z字母的字符,然后将替换的字符串设置为小写。字符类开头的
^
]
[^…]
类似,表示
而不是此字符。因此,
[a-z]
表示匹配a到z之间的字母,而
[^a-z]
表示匹配除a到z之外的任何字母

有很多在线正则表达式工具可以解释这些模式。从Regex101可以看到:

/[^a-zA-Z]/g
   [^a-zA-Z] match a single character not present in the list below
      a-z a single character in the range between a and z (case sensitive)
      A-Z a single character in the range between A and Z (case sensitive)
   g modifier: global. All matches (don't return on first match)

你的问题应该指出你在使用哪种语言。regex部分相当通用(也相当简单),但我并不马上认识这种特殊的语言;任何一个熟练使用它的人都可以提供更好的解释,以及更好的非正则表达式方法来规范化字符串。