正则表达式用于在javascript中存储单词之前和之后
Regex to store a word before and after in javascript
我正在做一个硒脚本。因此,在字符串"1 - 8 个项目的 8 个项目"中。我必须找到单词"of"之前的数字和单词"of"之后的数字,将其存储在两个变量中并检查它是否相等。
因此,对于第一个,我使用正则表达式"of''s+''b(''w+(''b"获取"of">之前的值,并使用正则表达式"(''S+(''s*of"获取"of"之后的值。我面临的问题是,当我使用此正则表达式时,结果带有单词"of"(8 of ,of 8(。我可以使用什么正则表达式来获取"of"(8,8(之前和之后的值,而无需包含单词"of"。这是使用javascript。
这个正则表达式会在of
之前给你数字:
"1 - 7 of 8 items".match(/'d+(?='s+of's+)/)
我不是正则表达式专家,但我尝试过。
var findings = "1 - 8 of 8 items 1 - abc of ghi items".match(/'w+ of 'w+/g);
var collection = [];
findings.forEach(function(item){
var words = item.split(' ');
collection.push({first: words[0], second: words[2]});
});
console.log(collection);
您可以将字符串拆分为非数字:
var ar = "1 - 8 of 8 items".split(/[^'d]+/)
这给了
Array [ "1", "8", "8", "" ]
现在您可以比较数组的第 2 个和第 3 个元素
ar[1] == ar[2]
'1 - 8 of 8 items'.match(/of's+'b('w+)'b/)[1]
给出了第一个8
。
'1 - 8 of 8 items'.match(/('S+)'s*of/)[1]
给出了第二个8
。
另类
我会这样写它们:
'1 - 8 of 8 items'.match(/('d+) of/)[1]
第一个。
'1 - 8 of 8 items'.match(/of ('d+)/)[1]
第二个。
单独做是没有用的,它可能会给出错误的结果。
同时找到两者。 ('d+)'s+of's+('d+)
.
"之前"位于捕获组 1 中,"之后"位于捕获组 2 中。
进行搜索。如果不知道如何访问捕获组,请阅读一些内容。
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 在chrome.tabs.onCreated之后加载HTML页面
- 在Jquery detachment()和appendTo()之后定位元素
- AngularJS:ng之后,重复$scope值未按预期更新
- 当鼠标悬停在文本中的单词上时显示警报
- 匹配一个单词,其中候选人可以跨越顺序组(跨度)
- 如何使用jquery强制一个单词更改大小写等以保留品牌
- 正则表达式用于在javascript中存储单词之前和之后
- Javascript 正则表达式在特定单词或数字之后拆分
- 获取每个'单词'在使用regex的Javascript字符串中的每个下划线之后
- 在 n 个字符之后剪一个字符串,但如果它在一个单词的中间,则剪掉整个单词
- 正则表达式在文本中查找匹配项,而不是在单词之后
- 使用 RegEx 通过 “:” 之前的单词获取 “:” 之后的单词
- Javascript REgExp.需要删除行上从“:”到“,”之后的所有单词
- 在字符串中的每个单词之后附加一个数字序列
- 如何生成“"在段落中的某些单词之后.Javascript
- 正则表达式,用于查找一个术语之后和另一个术语之前的单词
- 如何获得在indexOf("@")之后的单词并将其添加到数组中
- 在Javascript中过滤掉字符串中分隔符之后的单词
- 正则表达式,它匹配一个单词,而不是在另一个单词之后