例如 /(www\.)?(.+)(\.com)?/.exec("www.something.com")
将得到 'something.com' at结果数组的索引 1。但是,如果我们只想捕获捕获组中的“某些内容”怎么办?
澄清:
- 上面的字符串只是举例 - 我们不想对后缀字符串(上面的 .com)做出任何假设。它也可以是橙色的。
- 这部分可以在 C# 中通过从右到左匹配来解决(虽然我不知道在 JS 中如何做到这一点),但最终会得到 www.那么就包括在内!
- 当然,将正则表达式与其他字符串方法(例如替换/子字符串)混合可以轻松解决这个问题。但是有没有仅使用正则表达式的解决方案?
最佳答案
关于JavaScript 正则表达式 : how to not capture an optional string on the right side,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31970993/