2010-11-11 69 views
2

的,我想了解这行JavaScript代码是指...解释这段JavaScript

(/^\w+, ?\w+, ?\w\.?$/) 

我明白了“w表示‘字’,但需要你的帮助理解'/', '^', '+', '?', '.?$/'

谢谢..

+1

在什么情况下HTML会执行正则表达式? – 2010-11-11 13:59:05

+0

**如果**是HTML,则表示字符串为'(/^\ w +,?\ w +,?\ w \。?$ /)'。 HTML是标记,但与代码相反;很可能你正在看Javascript。 – 2010-11-11 14:18:56

+0

@Andrzej有了这么多的声誉,你可以帮助我们把这个问题变成一个更好的问题。我的手绑在一起。 – pestaa 2010-11-11 14:41:27

回答

2

这是一个regular expression,而不是HTML。

它在Javascript中的正则表达式文字(/.../)中。

  • ^的字符串的开头
  • \w匹配任何文字字符
  • +匹配一个或多个前一组的匹配。
  • ?匹配零个或前一组中的一个(在此情况下,单个空间)
  • \.匹配的.。 (非转义的.匹配任何单个字符)
  • $匹配字符串的结尾。
+0

请注意,对于“单词”字符使用'\ w'将会(在很多情况下)意味着任何一个字符,** **具有Letter属性**或**, Decimal Number属性,**或**,即LOW LINE(即下划线)字符。另外,'^'和'$'有时可以匹配行边界,而不仅仅是字符串边界。 – tchrist 2010-11-11 14:34:04

1

这是不是HTML代码,但正则表达式。了解更多关于它:


在计算中,正则表达式, 也被称为正则表达式或正则表达式, 提供一个简明的和灵活的手段 用于匹配的字符串文字,如 特定字符,字词或 字符的模式。正则表达式 被写入在正式 语言能够由 正则表达式处理器被解释,一个 程序,要么作为解析器 发生器或检验文本和 标识匹配 提供规范,部分。

+0

感谢您的澄清。 – Roy 2010-11-11 14:48:25

1

/^\w+, ?\w+, ?\w\.?$/在...

  • / /

    外定界符

  • ^ $匹配整个字符串(^表示匹配的开始,$意味着结束匹配)

一个接一个......

  • \w指字的字符(只是w不匹配任何东西,但ASCII字符w
  • \w+字字符(至少有一个相匹配,尽可能地)
  • ?意味着空间是可选,匹配0或1个空格字符
  • .匹配任何不是换行符的字符(可以用正则表达式修饰符配置)
  • \.(比如上例中)完全匹配一个点
+0

不要只说“单词”;解释它是'[_ \ pL \ p {Nd}]'。通常'.'不匹配任何字符,但只是非换行符。有时它匹配任何东西,有时它匹配任何不是'\ R'的东西。但是在发布的模式中没有未转义的'.'。 – tchrist 2010-11-11 14:35:30

+0

@tchrist改进了答案,感谢您的反馈。我故意分别介绍'.'和'\ .',并强调后者的存在。对于新手而言,差异可能并不简单。 – pestaa 2010-11-11 14:39:12

+0

@pestaa:Tahnks。 – tchrist 2010-11-11 14:40:23

2

让我们打破它,因为那是更容易阅读:

 
^  beginning of the line 
\w+  1 or more 'word' characters 
,  a comma 
?  an optional space 
\w+  1 or more 'word' characters 
,  a comma 
?  an optional space 
\w  a single 'word' character 
\.?  an optional period 
$  end of line 

一个“字”字的含义是字母数字字符或下划线。

+1

请注意,有15,104个代码点计为'\ w',因为''unichars --withbmp --Haastral'\ w'| wc -l' == 15104'。 – tchrist 2010-11-11 14:45:30

+0

谢谢tchrist ...我不明白'unichars --withbmp --huastral'\ w'| wc -l' == 15104'虽然......你能详细说明一下吗? – Roy 2010-11-11 15:09:14

+0

从来不知道 - 谢谢。 – 2010-11-12 01:03:56

1

这是一个正则表达式,用于查找一串单词字符(如字母,数字或下划线),其中包含两个逗号,并且每个逗号后面都有可选的单个空格。