字符统计与正则表达式

Posted jx937542655

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符统计与正则表达式相关的知识,希望对你有一定的参考价值。

统计字符个数:
 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4 <meta charset="UTF-8">
 5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 6 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 7 <title>Document</title>
 8 </head>
 9 <body>
10 <script>
11 var count = 0;
12 var stopposition = 0
13 var item = "stop"
14 var str = "start,stop,speed,start,stop,speed,start,stop,speed,start,stop,speed,"
15 while( stopposition < str.length ){
16 if( str.indexOf( item , stopposition) > 0 ){
17 count ++
18 stopposition = str.indexOf( item , stopposition)
19 stopposition += item.length ;
20 }else{
21 stopposition += str.length
22 }
23 }
24 console.log(str)
25 console.log( 个数为, count );
26 </script>
27 </body>
28 </html>

  正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个字符串是否含有某种子串、将匹配的子串做替换或者从某个字符串中取出符合某个条件的子串等。

简而言之,正则表达式就是处理字符串的,我们可以用它来处理一些复杂的字符串

正则表达式的创建方式

  • 字面量创建方式
  • 实例创建方式
    var reg = /pattern/flags
    // 字面量创建方式
    var reg = new RegExp(pattern,flags);
    //实例创建方式
    
    pattern:正则表达式  
    flags:标识(修饰符)
    标识主要包括:
    1. i 忽略大小写匹配
    2. m 多行匹配,即在到达一行文本末尾时还会继续寻常下一行中是否与正则匹配的项
    3. g 全局匹配 模式应用于所有字符串,而非在找到第一个匹配项时停止

元字符

代表特殊含义的元字符

d : 0-9之间的任意一个数字  d只占一个位置
w : 数字,字母 ,下划线 0-9 a-z A-Z _
s : 空格或者空白等
D : 除了d
W : 除了w
S : 除了s
 . : 除了
之外的任意一个字符
  : 转义字符
 | : 或者
() : 分组
n : 匹配换行符
b : 匹配边界 字符串的开头和结尾 空格的两边都是边界 => 不占用字符串位数
 ^ : 限定开始位置 => 本身不占位置
 $ : 限定结束位置 => 本身不占位置
[a-z] : 任意字母 []中的表示任意一个都可以
[^a-z] : 非字母 []中^代表除了
[abc] : abc三个字母中的任何一个 [^abc]除了这三个字母中的任何一个字符
 
 


以上是关于字符统计与正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

201671010432词频统计软件项目报告

正则表达式及R字符串处理之终结版

asp.net 使用正则表达式验证包含打开/关闭括号片段的属性字符串

攻破难啃的骨头-正则表达式(转)

请问怎么用R语言正则表达式统计文章的单词数和中文字数,不能用程序包?

JAVA正则表达式怎么匹配所有符合要求的子字符串