这个正则表达式在做什么?

时间:2011-08-10 14:16:07

标签: javascript regex match

我认为这个正则表达式是关于将单词转换为数组,但结果我得到null

当我想从数组[0]

获取“facebox otherword”中的第二个单词时

这是正则表达式:

this.rel.match(/facebox\[?\.(\w+)\]?/)

谢谢理查德

8 个答案:

答案 0 :(得分:7)

http://xenon.stanford.edu/~xusch/regexp/analyzer.html是一个简单的正则表达式分析器(以及许多其他分析器)。 由于它不可链接,这里是只是一个截图和link

enter image description here

答案 1 :(得分:5)

我相信您正在寻找的是 split() 功能:

您提到的将单词转换为数组的提法通常称为split,因此如果您想从“otherword”获取“facebox otherword”,那么您可以执行以下内容:

var test = "facebox otherword"
var word = test.split(' ')[1];

Working Demo

答案 2 :(得分:3)

你的正则表达式匹配:

facebox.abc
facebox [
名为.abc facebox [名为.abc]
facebox.abc]

abc至少有一个“单词字符”(字母,数字和下划线)。

答案 3 :(得分:2)

注意\.。这意味着它是一个点,而不是任何角色。这个正则表达式facebox.otherword

答案 4 :(得分:1)

匹配以下文字:

facebox[.blabla]
facebox.blabla

答案 5 :(得分:0)

由于\.,你在那里的正则表达式与“facebook otherword”不匹配。它正在寻找文字“。”,因此它将匹配以下内容:“facebook.otherword”,“facebook [.otherword”,“facebook.otherword]”或“facebook [.otherword]”。

答案 6 :(得分:0)

检查rel

this属性中包含的字符串
  1. 包含文字'facebox'
  2. 后跟0或1个开放式方括号
  3. 后跟一个点
  4. 后跟一个或多个单词字符
  5. 后跟0或1个close-square-bracket
  6. 如果匹配,则1个或多个单词字符将包含在子匹配中。

答案 7 :(得分:0)

/facebox\[?\.(\w+)\]?/

  • 匹配facebox文字
  • 然后可选地匹配[
  • 然后匹配.
  • 然后匹配任何单词
  • 然后可选地匹配]