Javascript RegExp -如何匹配X只有当A在X之前和B在X之后
Javascript RegExp - how to match X only when A is before X and B is after X
给定字符串"AXB",我只希望在A在X之前,B在X之后匹配X,但是我不希望在返回的匹配中出现A或B。
我明白,对于B,它可以这样做:/X(?=B)/但我不确定是否有类似的方式这样做A(比赛前)?
谢谢。
使用捕获组捕获值,然后引用组#1
访问匹配。
/A(X)B/
的例子:
console.log('AXB'.match(/A(X)B/)[1]); //=> 'X'
像这样:
var the_captures = [];
var yourString = 'your_test_string'
var myregex = /A(X)B/g;
var thematch = myregex.exec(yourString);
while (thematch != null) {
// add it to array of captures
the_captures.push(thematch[1]);
document.write(thematch[1],"<br />");
// match the next one
thematch = myregex.exec(yourString);
}
-
A
匹配文字A
-
(X)
匹配X
并捕获到组1 -
B
匹配B
- 脚本返回组1:
thematch[1]
在其他语言
JavaScript没有查找或'K
。在支持这些的语言中,您可以直接匹配没有捕获组的X
:
-
A'KX(?=B)
(使用向前看和'K
,这告诉引擎放弃匹配到目前为止它返回的最终匹配) -
(?<=A)X(?=B)
(使用后向和前向断言)
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 在chrome.tabs.onCreated之后加载HTML页面
- 在Jquery detachment()和appendTo()之后定位元素
- AngularJS:ng之后,重复$scope值未按预期更新
- RegExp:匹配Javascript中除regex值之外的所有内容
- 为什么元素的宽度在页面加载之后和那一刻之后不同
- JavaScript正则表达式文本与RegExp对象
- 没有在Angular应用程序中定义firebase(在firebase迁移之后)
- 使用RegExp查找url中的字符
- Javascript复选框函数:;缺少:在属性id之后"
- 在刚刚调用的append函数之后,jquery.height()不会返回实际值
- 相同的RegExp返回不同的结果-第一次是正确的结果,第二次是null
- 全局标志仅与第一个匹配项匹配的Regexp
- 正在链接添加了以下内容::在之后
- JQuery hide()在show()之后不起作用,反之亦然
- 未执行Ajax循环的Javascript之后的代码
- Javascript REgExp.需要删除行上从“:”到“,”之后的所有单词
- Javascript RegExp 在 / 之后获取第二个也是最后一个字符串
- RegExp用于过滤最后一个点之后的字符
- Javascript RegExp -如何匹配X只有当A在X之前和B在X之后