Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex在{和}符号之间选择一个随机出现的关键字_Regex - Fatal编程技术网

Regex在{和}符号之间选择一个随机出现的关键字

Regex在{和}符号之间选择一个随机出现的关键字,regex,Regex,我的文本示例: {这是一个文本示例,这是我的关键字,但我的关键字多次出现在此文本中,我只希望替换其中一个关键字,但每次都应随机选择它} 所以在这三个关键词中,我只想替换一个,随机选择。有时我的关键字出现三次以上,有时仅出现一次。 这在正则表达式中可能吗?不,这不可能仅在正则表达式中才可能 但是,您可以使用正则表达式查找所有关键字,生成一个随机数,并使用该数字替换一个发生的情况 描述 您没有选择语言,因此在这里的示例中我使用了powershell。每次运行时,标点符号都会被删除,字符串也会被分解成

我的文本示例:

{这是一个文本示例,这是我的关键字,但我的关键字多次出现在此文本中,我只希望替换其中一个关键字,但每次都应随机选择它}

所以在这三个关键词中,我只想替换一个,随机选择。有时我的关键字出现三次以上,有时仅出现一次。

这在正则表达式中可能吗?

不,这不可能仅在正则表达式中才可能

但是,您可以使用正则表达式查找所有关键字,生成一个随机数,并使用该数字替换一个发生的情况

描述 您没有选择语言,因此在这里的示例中我使用了powershell。每次运行时,标点符号都会被删除,字符串也会被分解成单词。然后随机选择一个单词

免责声明 可能有一些单词需要标点符号,比如单引号、复数所有格名词末尾的撇号或连字符的名称。。。。也就是说,您必须围绕字符串构造标点符号替换正则表达式

例子
正则表达式没有随机生成器。谢谢您的快速回复。那太好了。我该怎么做?你能帮助我吗?谢谢&最好的,Martony你甚至没有说你的代码是用什么语言编写的,所以我们不能真正提供细节:)或者只是通过你的编程语言在正则表达式中生成随机单词
clear

$String = "This lazy brown dog, jumped over the red fox."

# strip out punctuation marks
$String = $String -replace "[^\w\s\d]", ""

# split the string into an array
[array]$ArrayOfWords = $String -split " "

# select a random word from the array
$ArrayOfWords | Get-Random