Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.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,这些陈述到底是做什么的 我不明白他们在做什么,甚至读了关于正则表达式的文章,有人能详细解释一下吗 /^\s+|\s+$/g:匹配字符串开头或结尾的空格,替换为空字符串 /^-+|-+$/g:匹配字符串开头或结尾的连字符,替换为空字符串 /[^\w-]/g:匹配字母数字、389;和-字符,并替换为- /-+/g:匹配一行中的2+,并替换为单个- 以下是对每个术语的解释: $this.val.replace/^\s+|\s+$/g 这将用空格替换任何前导空格或尾随空格: $(this).val().

这些陈述到底是做什么的

我不明白他们在做什么,甚至读了关于正则表达式的文章,有人能详细解释一下吗

/^\s+|\s+$/g:匹配字符串开头或结尾的空格,替换为空字符串 /^-+|-+$/g:匹配字符串开头或结尾的连字符,替换为空字符串 /[^\w-]/g:匹配字母数字、389;和-字符,并替换为- /-+/g:匹配一行中的2+,并替换为单个-
以下是对每个术语的解释:

$this.val.replace/^\s+|\s+$/g

这将用空格替换任何前导空格或尾随空格:

$(this).val().replace(/^\s+|\s+$/g, '');  

a = a.replace(/^-+|-+$/g, '');  

a = a.replace(/[^\w-]/g, '-');  

a = a.replace(/--+/g, '-');   
a=a.replace/^-+|-+$/g

这将用空格替换任何前导-1或更多次或尾随-1或更多次

"    Hello" -> "Hello"
"Hello    " -> "Hello"
"  Hello  " -> "Hello"
a=a.replace/[^\w-]/g,'-'

这将替换任何在JavaScript中不是单词字符的字符,它被定义为包括小写和大写英文字母、数字0到9和下划线,或者不是带“-”的“-”

"Hello----" -> "Hello"
"--- Hello ---" -> " Hello "
"-H-E-L-L-O-" -> "H-E-L-L-O"
a=a.替换/-+/g'-'

这将用单个'-'替换2个或多个连续的-'

"    Hello" -> "----Hello"
"Hello@@@@" -> "Hello----"
"Hello--123___" -> "Hello--123___"
"@£"$%"!$" -> ""

最后一个是错误的。它将连续-替换为单个-。第三个也是错误的,\w不允许空格。第二个-H-E-L-L-O-示例是错误的。感谢您发现它,我现在已经更正了。请下次通过控制台运行示例。在你编辑你的文章后仍然有错误,所以我编辑以更正它们。
"--" -> "-"
"Hello--" -> "Hello-"
"------Hello---------" -> "-Hello-"
"H--ello---------" -> "H-ello-"