我知道 match ,将验证我的字符串是否与小括号之间的正则表达式匹配。
RegExp(string.match(/\/(.+)\/.*/)[1], string.match(/\/.+\/(.*)/)[1]);
但是(/\/(.+)\/.*/)[1]
返回什么?
最佳答案
让我们假设以下情况:
let string = "prefix /regex/ text";
string.match
将返回以下数组:
[
"/regex/ text",
"regex"
]
数组有两个元素:
[0] = "/regex/text"
- 正则表达式匹配的文本[1] = "regex"
- 第一组中的文本 ((.+)
)
因此 string.match(/\/(.+)\/.*/)[1]
在此示例中返回 "regex"
请注意,这个正则表达式有点幼稚。给定以下输入:
"/regex1/ some text /regex2/"
string.match(/\/(.+)\/.*/)[1]
最终将返回:
"regex1/ some text /regex2"
这可能不是故意的。但我不知道何时/如何使用此代码,因此也许可以安全地假设输入仅包含一个正则表达式。
关于javascript - 正则表达式和匹配方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58085643/