请帮我制作一个适合下面每一行的正则表达式
我尝试从每一行中提取名称、ID 和版本(第一列是名称,第二列是 ID,第三列是版本)并将它们放入不同的变量中。列由空格分隔。但是列之间可以有不同数量的空格,以及这些列中的字符,这就是我遇到的问题(
ttth yafp.ttth 1.8.0 Tag: google winget
Gmail Desktop timche.gmail-desktop 2.25.3 Tag: google winget
Kube Forwarder pixel-point.kube-forwarder 1.5.1 Tag: google winget
Google Assistant Preview Melvin-Abraham.Google-Assistant.Preview 1.0.0-rc.2 Tag: google winget
Google Assistant Melvin-Abraham.Google-Assistant 1.1.0 Tag: google winget
OpenDrive liberodark.ODrive 0.3.0 Tag: google winget
Google Calendar klinker24.google-calendar-desktop 1.7.1 Tag: google winget
Electronic Gmail jie17.electronic-gmail 0.0.18 Tag: google winget
Voice Desktop jerrod-lankford.google-voice-desktop-app 1.3.1 Tag: google winget
Google Web Designer Google.WebDesigner 9.0.8.0 Tag: google winget
Google Play Games Google.PlayGames.Beta 22.10.1285.8 Tag: google winget
Google Cloud SDK Google.CloudSDK 392.0.0 Tag: google winget
Chrome Remote Desktop Host Google.ChromeRemoteDesktop 111.0.5563.12 Tag: google winget
Crow Translate CrowTranslate.CrowTranslate 2.10.3 Tag: google winget
比译 Biyi.Biyi 0.4.0+11 Tag: google winget
G Desktop Suite alexkim205.g-desktop-suite 0.3.1 Tag: google winget
Cerebro AlexandrSubbotin.Cerebro 0.11.0 Tag: google winget
Google Drive Google.Drive 70.0.2.0 Tag: google winget
Google Chrome Canary Google.Chrome.Canary 112.0.5594.3 Tag: google winget
Google Chrome Dev Google.Chrome.Dev 112.0.5582.0 Tag: google winget
google-chat-linux squalou.google-chat-linux 5.21.19-1 winget
Google Play Music Desktop Player SamuelAttard.GooglePlayMusicDesktopPlayer 4.7.1 winget
Outlook Google Calendar Sync (Alpha) PaulWoolcock.SyncOutlookandGooglecalendars.alpha 2.9.4-alpha winget
Outlook Google Calendar Sync PaulWoolcock.SyncOutlookandGooglecalendars 2.9.0-beta winget
Google 日本語入力 Google.JapaneseIME 2.28.4650.0 winget
IAP Desktop Google.IAPDesktop 2.33.964 winget
Firebase CLI Tools Google.FirebaseCLI 11.22.0 winget
Google Earth Pro Google.EarthPro 7.3.4.8642 winget
Backup and Sync from Google Google.BackupAndSync 3.57.4043.4118 winget
Android Studio Canary Google.AndroidStudio.Canary 2022.3.1.2 winget
Android Studio Beta Google.AndroidStudio.Beta 2022.2.1.12 winget
Android Studio Google.AndroidStudio 2022.1.1.19 winget
Chromium eloston.ungoogled-chromium 110.0.5481.78 winget
Unofficial Google Docs CompLabs.GoogleDocs 2022.3.10 winget
Google Meet arjun-g.google-meet-desktop 1.2.0 winget
Google Chat Electron ankurk91.GoogleChatElectron 2.18.0 winget
Google Chrome Google.Chrome 110.0.5481.97 winget
Google Chrome Beta Google.Chrome.Beta 111.0.5563.19 winget
Wondershare InClowdz Wondershare.InClowdz 2.0.9 Tag: google-drive winget
Serverless Framework Serverless.Serverless 3.27.0 Tag: google-cloud-functions winget
PremiumSoft Navicat Premium PremiumSoft.NavicatPremium 16.0.14 Tag: google-cloud winget
SFTPGo drakkan.SFTPGo v2.4.4 Tag: google-cloud-storage winget
试图通过子字符串剪切
const str = '7-Zip 22.01 (x64) 7zip.7zip 22.01 winget'
const name = str.substring(0, 45).trim() // 7-Zip 22.01 (x64)
const id = str.substring(45, 90).trim() // 7zip.7zip
const version = str.substring(90, 110).trim() // 22.01
但这一直有效,直到中文字符出现在字符串中(
如果提供的示例具有大部分或所有输入选项,并且只需要前三列,则以下可能有效:
没有的选项
split():