我正在使用正则表达式首先从某个文件中提取网址。该文件最多可包含250k行文本。文件中的每一行都传递给一个名为DECLARE @ExportSQL nvarchar(max);
SET @ExportSQL = 'EXEC ..xp_cmdshell ''bcp "SELECT TOP 1 FROM sys.objects " queryout "C:\DeploymentPipelines\results4.csv" -T -c -t -S DEV-BUILD01\SQLSERVER'''
Exec(@ExportSQL)
的数组值。以下是比我希望的更长的时间。提取20k行的URL可能需要1分钟,而提取域可能需要两倍或3倍的时间,这对我来说没有意义,因为它将url结果作为输入,所以我希望它更快。我能做些什么来大大提高速度吗?
$column7
答案 0 :(得分:1)
我认为你也可以在第一个循环中提取域名。
像这样的正则表达式:
/(?:https?\:\/\/|www)([^\/ ]+)[^(\"|\\\) ]+/i'
请参阅:https://regex101.com/r/rUGOtj/1
其中([^\/ ]+)
是您所在域的匹配组。
您可以使用$ matches [$ i] [1]
访问此匹配组