我有以下代码:
[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 的。