档案交换一周

我们最好的用户提交

扁平(嵌套)单元阵列

肖恩本周的选择是扁平(嵌套)单元阵列经过Yung-yeh

背景

我最近一直在使用韦布雷德扫描网站并挖掘信息以进行数据分析。

这需要很多常用表达。正则表达方式是令人难以置信的令人沮丧但同时有趣的事情之一。我通常在HTML标签的内部寻找一些文本图案,这意味着我将要抓取“令牌”或与表达式匹配的未知部分。

让我们以一个简单的示例,在其中我们从网站上获取Mathworks产品列表s manbetx 845//www.tianjin-qmedu.com/s manbetx 845products.html

首先,让我们确定我们要寻找的模式。由于语法突出显示和其他编辑器功能,我喜欢在网络浏览器中执行此操作。这是第一个观点:

我们需要参数化两种模式。首先,黄色是产品参考。第二个是绿色,是产品名称,我们要捕获的令牌。

现在,让我们编码。首先,我们将抓取HTML。

html =韦布雷德('//www.tianjin-qmedu.com/s manbetx 845products.html');

接下来,我们将构建正则表达式。保留总是很高兴的文档页面为此开放。

  1. 匹配字符串文字“/product/”
  2. 匹配任何“ []”字符“ \ w”或连字符“ \ w”
  3. 尽可能多的次“*”
  4. 匹配下一个后斜线和关闭双引号,并且大于标志“/””
  5. 用括号启动令牌(
  6. 尽可能多次匹配任何单词,连字符或空间“ \ s”。
  7. 关闭令牌)
expr ='/s manbetx 845products/[\ w \  - ]*/“>([\ w \  -  \ s]*)*)';

运行正则表达式捕获令牌。

tokens = regexp(html,expr,“令牌”);

这是Yung-yeh的文件的来源。REGEXP具有令牌是一个嵌套单元,它可以取决于令牌和令牌嵌套级别的数量。细胞流动让我可以将其尽可能多的级别弄平到单元字符串中。

令牌= cellflat(tokens);

现在,我们可以查看带有空白处的独特产品。s manbetx 845

disp(唯一(deblank(dokens))')
'...'“航空空间区块”“航空工具箱”“天线工具箱”“音频系统工具箱”“ BioInformatics Toolbox”“ Communications System”工具箱“计算机视觉系统工具箱”“控制系统工具箱”“曲线拟合工具箱”“曲线拟合工具箱”套件“ DSP系统工具箱”“数据采集工具箱”“数据库工具箱”“ DataFeed Toolbox”“计量量工具箱”“嵌入式编码器”“嵌入式编码器”“滤镜设计HDL CODER''FINAGERY INSTROUMPT''FINALALITS TOOLBOX'FINALE TOOLBOX''FINALE TOOLBOX''fiendPoint Designer''''''''''''''''模糊逻辑工具箱'“全局优化工具箱'“ HDL编码器”“ HDL验证器”“ IEC认证套件”'image Accecisition Toolbox''Image Processing Toolbox'MATLABCompiler' 'MATLAB Compiler SDK' 'MATLAB Distributed Computing Server' 'MATLAB Mobile' 'MATLAB Production Server' 'MATLAB Report Generator' 'MATLAB for Home Use' 'Mapping Toolbox' 'Model Predictive Control Toolbox' 'Model-Based Calibration Toolbox' 'Neural Network Toolbox' 'OPC Toolbox' 'Optimization Toolbox' 'Parallel Computing Toolbox' 'Partial Differential Equation Toolbox' 'Phased Array System Toolbox' 'Polyspace Bug Finder' 'Polyspace Code Prover' 'RF Toolbox' 'Robotics System Toolbox' 'Robust Control Toolbox' 'Signal Processing Toolbox' 'SimBiology' 'SimEvents' 'SimRF' 'Simscape' 'Simscape Driveline' 'Simscape Electronics' 'Simscape Fluids' 'Simscape Multibody' 'Simscape Power Systems' 'Simulink' 'Simulink 3D Animation' 'Simulink Code Inspector' 'Simulink Coder' 'Simulink Control Design' 'Simulink Design Optimization' 'Simulink Design Verifier' 'Simulink Desktop Real-Time' 'Simulink PLC Coder' 'Simulink Real-Time' 'Simulink Report Generator' 'Simulink Test' 'Simulink Verification and Validation' 'Spreadsheet Link' 'Stateflow' 'Statistics and Machine Learning Toolbox' 'Symbolic Math Toolbox' 'System Identification Toolbox' 'Trading Toolbox' 'Vehicle Network Toolbox' 'Vision HDL Toolbox' 'WLAN System Toolbox' 'Wavelet Toolbox'

注释

尝试一下,让我们知道您的想法这里或留下一个评论对于Yung-yeh。




与Matlab®R2016A一起出版

|
  • 打印
  • 发送电子邮件

注释

要发表评论,请单击这里登录您的数学帐户或创建一个新帐户。