带你学习正则表达式
正则表达式(Regular Expression)是用于匹配字符串中字符组合的模式,在 JavaScript中,正则表达式也是对象。
这些模式被用于 RegExp 的 exec 和 test 方法, 以及 String 的 match、matchAll、replace、search 和 split 方法。
正则表达式可用于所有文本搜索和文本替换的操作。那就开始吧~
/正则表达式主体/修饰符(可选)
在 JavaScript 中,正则表达式通常用于两个字符串方法 : search() 和 replace()。
结果:6
结果:The quick brown Monkey jumps over the lazy dog. If the dog reacted, was it really lazy?
结果:[\’\’, \’z\’, \’v\’, \’f\’, \’n\’, \’i\’, \’s\’]
结果:ain,ain,ain
在 JavaScript 中,RegExp 对象是一个预定义了属性和方法的正则表达式对象。
结果:true
结果:e
- i : 执行对大小写不敏感的匹配。
- g : 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)
- m : 执行多行匹配
- [abc] : 查找方括号之间的任何字符
- [0-9] : 查找任何从 0 至 9 的数字
- (x|y) : 查找任何以 | 分隔的选项
- \\d : 查找数字
- \\s : 查找空白字符
- \\b : 匹配单词边界
- \\uxxxx : 查找以十六进制数 xxxx 规定的 Unicode 字符
- ^ : 表示开头
- $ : 表示结尾
量词只对前一个内容起作用
- n+ : 匹配任何包含至少一个 n 的字符串
- n* : 匹配任何包含零个或多个 n 的字符串
- n? : 匹配任何包含零个或一个 n 的字符串
- ‘+’ : 至少一个
- ‘-’ : 0个
- {n} :正好出现n次
- {m,n} :出现m-n次
- {m, } : m次以上
去除以下字符串开头与结尾空格
he llo
- 测试输入数字是否为手机号码思路:
- 手机号共11位
- 第一位为1 :^1
- 第二位为3-9的数字 : [3-9]
- 第三位以后为0-9的9位数字: [0-9]{9}$
true
- 测试邮箱账号是否符合规则
思路看注释
true
OK~
菜鸟教程(https://www.runoob.com/)
MDN Web Docs(https://developer.mozilla.org)
等等
LabVIEW 数组函数/字符串函数——综合应用(以词频统计为例)
词频 (TF)是一词语出现的次数除以该文件的总词语数。 假如一篇文件的总词语数是100个,而词语“母牛”出现了3次,那么“母牛”一词在该文件中的词频就是0.03 (3/100)。
利用LabVIEW中的字符串函数和数组函数 ,这里给出一个实现英文词频统计的过程,方便大家学习LabVIEW及其函数。
1、 单词分词
英文单词是以空格 标点以及其他特殊符号分割的 ,因此采用Match Pattern函数可以将文章中的单词分开。
如图所示:
字符串匹配函数
Match Pattern函数相对于Match Regular Expression函数是较为简单的匹配,但其速度更快。仅支持简单的及其规则。图中,“|”表示或关系。
分词过程:
分词过程
对分词后的数组 进行排序,有利于后续的词频统计
- 统计(去除)重复单词,统计重复的次数
对排序后的单词 逐对比较。如果不等则插入新的数组,否则不插入。
统计重复个数,逐对比较时,
如果两个(相邻)单词的相同 ,则使用Replace Array Subset替换数组子集函数,将最后一次插入后词频数组的最后一个元素用累加替换;
如果两个(相邻)单词的不同相同,则使用Insert Into Array插入数组函数,将新元素插入数组的最后,注意此函数索引连接的方法。
去除重复单词、统计重复次数
注意:此方法过程有一个问题,就是统计出的单词频次数(数组)会出现错位,也就是说此数组的最后一个元素实际是第一个单词出现的频次。
因此程序采取补救方法(利用 Rotate 1D Array数组循环调整一下)。
分析产生此问题的具体原因:统计时采用的逐对比较,开始比较的第0个和第1个元素,其实第一个元素(单词可以直接计数为1的))(读者可以给出你更好的解决方法,回帖哦)
- 最后将数值Number To Decimal String和Number To Fractional String统一转换成字符串,再拼接成一个二维字符串数组显示。如图:
程序运行结果
- 复制网络上的英文文章,运行程序,仔细观察程序分词结果。如果出现一些特殊符号,那么可以使用正则表达式将其考虑进去。
不断完善的正则表达式
上图表示 匹配查找 – —():,。’回车和数字
- 如果使用LABVIEW的集合数据类型 ,那么上述程序的后部部分 将可以简化很多。集合即数学意义上的集合,元素不同。
使用集合函数的结果与数组函数的结果一致 。
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。