使用正则表达式从文本中选择两个随机单词

使用正则表达式从文本中选择两个随机单词

我有以下代码:

[string]$namesList = @"

casa fuentes, jose
lopez casimiro juan
gazquez san antonio
anto vazques
"@

我如何选择前两个单词?

output expected:

casa fuente
lopez casimiro
gazquez san
anto vazques

我有以下代码:

[string]$names = $namesList.split("`n").ToUpper() | Select-String  "" -AllMatches | ForEach {$_.Matches.value}

但我不知道在选择字符串时要使用什么正则表达式,能帮我解决吗?¿

答案1

我相信这样的事情会对你有所帮助: https://regex101.com/r/6amYCS/1
(?m)^[\W_]*([^\W_](?:\w|[[:punct:]_-](?=[\w[:punct:]-]))*)[\W_]+([^\W_](?:\w|[[:punct:]_-](?=[\w[:punct:]-]))*)

第一个单词在第 1 组中,第二个单词在第 2 组中。
这是 ASCII 的,如果感兴趣的话我还有一个 Unicode 的。

相关内容