返回 Javascript 正则表达式非捕获组

标签 javascript regex

当我运行时

var episode_pattern = /(?:EPISODE\:\s*\#)([0-9]*)/g; 
console.log(episode_pattern.exec("EPISODE:  #3"));  

我在比赛中找回了“EPISODE: #3”和“3”。
但是使用 (?: 我希望在匹配数组中只得到“3”。

最佳答案

返回数组的第一个元素(元素 0)始终是整个 匹配字符串。换句话说,如果您根本没有组,或者如果所有 您的组都是非捕获的,您将返回元素 0。如果您添加组而不更改正则表达式,您仍然会返回元素 0 中相同的整体匹配,然后组从元素 1 开始。

关于返回 Javascript 正则表达式非捕获组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21791483/

相关文章:

正则表达式 Word 宏在彼此的范围内找到两个单词,然后将这些单词斜体化?

javascript - 将 Flask 变量从 javascript 传递到 html

Javascript 函数没有从 typescript 中调用

javascript - 如何验证文本框以检查输入的值是否仅是 100 的倍数

c# - 在正则表达式模式中使用括号

JavaScript Regex Exclude + Include 模式匹配

javascript - 文件正在自动提交

javascript - 检测是否存在具有属性 [itemtype ='http://schema.org/Offer' ] 的标签的最快方法

javascript - 匹配开头不带点的数字

PHP 正则表达式 - 将字符串附加到以 "#' 字符开头的单词