javascript - 正则表达式或 javascript 每 X 个连续单词中有 1 个单词

标签 javascript regex

我需要想出一些正则表达式或 JavaScript,如标题所示,它会从每 X 个连续单词中获取 1 个随机单词。

例如我有这段文字

“在计算中,正则表达式提供了一种简洁而灵活的方法来“匹配”(指定和识别)文本字符串,例如特定字符、单词或字符模式。“正则表达式”的常见缩写包括 regex和正则表达式。”

我想每 4 个单词正则表达式 1 个单词,因此从文本“在计算中,常规”中的前四个单词中,我将正则表达式输出 1 个随机单词,例如计算

需要对整个文本执行此操作,例如上面有 9 组,每组 4 个单词。我想从每组中随机抽取一个单词。希望我可以在该正则表达式中进行快速编辑,以便它也可以对 X 单词组执行相同的操作。 X 是任意数字。

我已经尽一切努力寻找可以为我做到这一点的东西,但我进展得不太好(我对正则表达式和 javascript 都很陌生)

我想如果我可以使用javascript将文本分成X组单词,然后我可以尝试从每组中获取一个随机单词。

到目前为止我所拥有的是:

var split='In computing, a regular expression provides a concise and flexible means to "match" (specify and recognize) strings of text, such as particular characters, words, or patterns of characters. Common abbreviations for "regular expression" include regex and regexp.'.match(/[^ ]+( +[^ ]+){0,3}/g); 

这会将带有逗号分隔符的文本分成 4 个单词组(或每 3 个空格)。问题是分隔符是逗号,因此原始文本中的任何逗号也会在输出中看到,例如

In computing, a regular,expression provides a concise,and flexible means to,"match" (specify and recognize),strings of text, such,as particular characters, words,,or patterns of characters.,Common abbreviations for "regular,expression" include regex and,regexp.

是否可以将该分隔符更改为除逗号之外的其他内容?至少这样我就可以尝试想出一些可用于每个 4 个单词组的正则表达式。我想也许可以在匹配后替换逗号,但这当然也会替换所有原始逗号。

我不确定如何处理随机单词正则表达式或 javascript,但我认为对组进行排序是朝着正确方向迈出的第一步?

感谢您对此的任何帮助或建议,我真的很感激。很抱歉,如果这对你们中的一些人来说是完全简单的,但我是新手,我已经尝试了几个小时来提出一些可行的解决方案,但无济于事。

彼得

最佳答案

正则表达式不支持随机化,因此它们在这里对您没有帮助。

但是您可以使用 String.split 方法将文本转换为单个单词的数组。然后,您以四组为一组迭代该数组,并从每组中选择一个随机单词。

Math.floor(Math.random() * 4) 

返回 0 到 3 之间的随机整数。

关于javascript - 正则表达式或 javascript 每 X 个连续单词中有 1 个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12266235/

相关文章:

javascript - SharePoint 2010 顶部导航?

javascript - 如何使用 Vue-Loader/Webpack 路径到外部(动态) Assets

javascript - 如何向 AmChart 图例添加自定义类?

java - Java正则表达式中的非法转义字符错误

java - 在 Java 中调试正则表达式

javascript - 使 sap.m.CustomTile 可根据分辨率调整大小,例如从 500px 到 320px

javascript - 从异步函数获取数据

正则表达式模式需要帮助

java 使用正则表达式生成字符串

Java 日期时间正则表达式