使用javascript从给定单词向后匹配
Match backwards from a given word with javascript
使用Javascript,我需要在一些文本中找到一个短语的出现,然后将从它到最后一个5位数的数字的所有内容进行匹配。(或者至少这是我所知道的描述我需要什么的最好方法)
考虑以下文本:
24854
随机词
结束词
34975
随机词
结束词
47593
随机单词
结束词
目标词
32302
随机词
结束词
- 鉴于以上情况,我希望我的正则表达式能够匹配从
47593
到Target Word
的Everything - 每个匹配都应包括
47593
和Target Word
- 它需要贪婪,因为在我的实际文本中会有多个匹配项,我需要将它们全部返回到一个数组中
这就是我尝试过的:.match(/[0-9]{5}['s'S]+?Target Word/g)
我的问题(和往常一样)是新的线路。为了跨多行匹配,我使用['s'S]
,但这样做会使正则表达式匹配从第一个5位数到第一次出现Target Word
的所有内容
我怎样才能改变这一点以达到预期的结果?我想我需要使用lookbacking,但我发现的大多数例子都让我很困惑。
您可以使用负前瞻,
[0-9]{5}(?:(?![0-9]{5})['S's])*?Target's*Word
演示
上面的负前瞻(?:(?![0-9]{5})['S's])*
断言,在5位数字之后,匹配任何空格或非空格字符零次或多次,但它不能是5位数字。
如果随机单词中没有5位数的模式,您可能会使用
/(['d]{5}(?:[^'d]{5})+?Target Word)/gm
此处演示
相关文章:
- 如何在Javascript中从字符串中提取某些单词
- 在javascript中查找单词
- 如何使用Javascript在给定的句子中找到大写单词并在其前面添加一个字符
- JavaScript Regex 将单词替换为其第一个字母,除非在括号内
- Javascript-从随机的单词数组中创建段落
- 在字符串列表中搜索任何出现的单词,如果单词的第一个字符匹配,则高亮匹配单词.Javascript正则表达式
- Regex或javascript每X个连续单词中有一个单词
- Regex模式,用于检查字符串中每个单词的第一个字母(如果是Javascript中的大写字母)
- 我怎么能用css或(angular)javascript把句子分成两行,只在特定单词后面
- 找出句子中最长的单词——Javascript
- Javascript:当这个单词被点击5次时,下面会显示另一个单词
- 查找并替换多个单词 JavaScript
- 删除连续重复的单词javascript
- 删除带有单词javascript的大括号之间的空格
- 在最后一个单词 Javascript 之前附加字符串
- 添加“-"每个单词-javascript
- 检查字符串是否只有特定的单词javascript
- 提取包含特定单词javascript的文本块中的特定行
- 查找数组中出现次数为偶数的单词 - Javascript
- 提示5个单词,然后显示最长的单词javascript