Java 生成正则表达式以获取iOS设备版本、设备名称和UDID
我正在尝试编写一个正则表达式来获取设备名称、iOS版本和UDID,但无法理解。我有一个下面的列表作为命令行结果的示例。所以我只想从下面的列表中提取值,忽略所有其他表达式:iphonename,11.360961E11C88934EDF3D0956CF5B252A76547129Java 生成正则表达式以获取iOS设备版本、设备名称和UDID,java,regex,Java,Regex,我正在尝试编写一个正则表达式来获取设备名称、iOS版本和UDID,但无法理解。我有一个下面的列表作为命令行结果的示例。所以我只想从下面的列表中提取值,忽略所有其他表达式:iphonename,11.360961E11C88934EDF3D0956CF5B252A76547129 KnownDevices: local [86F109DE-9E65-5D16-8A85-CBCESECD6374] iPhone Name (11.3) [606961e11c88934edf3d0956
KnownDevices:
local [86F109DE-9E65-5D16-8A85-CBCESECD6374]
iPhone Name (11.3) [606961e11c88934edf3d0956cf5b252a76547129]
Apple TV 1080p (10.2) [1B9FH00C-721C-4740-B22F-7049D4E51AC5] (Simulator)
iPad (5th generation) (10.3.1) [F1FJA8D1-C966-40BF-B51D-201443E95E0A] (Simulator)
iPad (5th generation) (11.1) [30B4BEE3-103B-4B58-9C1B-661435D6BA28] (Simulator)
提前感谢正则表达式:
(?。+)(?:\s\(?[^\]+)\)\s\[(?[^\]+)\]
详细信息:
命名捕获组(?)
非捕获组(?:)
匹配列表中不存在的单个字符[^]
在一次和无限次之间匹配+
匹配空白字符\s
我对正则表达式知之甚少,但我只是尝试了^((?!Simulator)。*$来摆脱Simulator。谢谢你的帮助!但是,当通过命令行-->instruments-s devices(?。+)(?:\s((?[^)]+)\s?[(?[^]]+])运行时,这不匹配@sjgmamer尝试此
(。+)(?:\s\([^\)]+\)\s\[([^\]+])\]