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