繁体   English   中英

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

[英]What is this regex doing?

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

当我想用数组 [0] 从“facebox otherword”中获取第二个单词时

这是正则表达式:

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

谢谢理查德

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

在此处输入图像描述

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

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

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

工作演示

您的正则表达式匹配:

脸盒.abc
脸盒[.abc
脸盒[.abc]
facebox.abc]

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

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

这匹配如下文本:

facebox[.blabla]
facebox.blabla

由于\. . 它正在寻找文字“.”,因此它将匹配以下内容:“facebook.otherword”、“facebook[.otherword”、“facebook.otherword]”或“facebook[.otherword]”。

检查包含在thisrel属性中的字符串

  1. 包含文本'facebox'
  2. 后跟 0 或 1 个开方括号
  3. 后跟一个点
  4. 后跟 1 个或多个单词字符
  5. 后跟 0 或 1 个右方括号

如果匹配,则 1 个或多个单词字符将包含在子匹配中。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM