`
melet
  • 浏览: 69658 次
  • 性别: Icon_minigender_1
  • 来自: 海南-临高
社区版块
存档分类
最新评论

《正规表达式》笔记1

    博客分类:
  • J2EE
 
阅读更多
js 代码
  1. 以前正规表达式的学习笔记:   
  2. 一。概念及语法定义   
  3. 定义:正则表达式是一种可以用于模式匹配和替换的强有力的工具。   
  4. 语法:   
  5. 定界符:“/”。   
  6.         其中位于“/”定界符之间的部分就是将要在目标对象中进行匹配的模式。   
  7.   
  8. 元字符:“+”,“*”,“?”。   
  9.         “+”元字符规定其前导字符必须在目标对象中连续出现一次或多次。   
  10.         “*”元字符规定其前导字符必须在目标对象中出现零次或连续多次。   
  11.         “?”元字符规定其前导对象必须在目标对象中连续出现零次或一次。   
  12. 几个特殊的元字符:   
  13.     \s:用于匹配单个空格符,包括tab键和换行符;       
  14.     \S:用于匹配除单个空格符之外的所有字符;       
  15.     \d:用于匹配从0到9的数字;       
  16.     \w:用于匹配字母,数字或下划线字符;       
  17.     \W:用于匹配所有与\w不匹配的字符;       
  18.     . :用于匹配除换行符之外的所有字符。       
  19.   
  20. 指定模式在匹配对象中出现的频率:   
  21.     {n} n 是一个非负整数。匹配确定的 n 次。   
  22.     {n,} n 是一个非负整数。至少匹配 n 次。   
  23.     {n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。   
  24.   
  25. 定位符:   
  26.     “^”定位符规定匹配模式必须出现在目标字符串的开头      
  27.     “$”定位符规定匹配模式必须出现在目标对象的结尾      
  28.     “\b”定位符规定匹配模式必须出现在目标字符串的开头或结尾的两个边界之一      
  29.     “\B”定位符则规定匹配对象必须位于目标字符串的开头和结尾两个边界之内,      
  30.     即匹配对象既不能作为目标字符串的开头,也不能作为目标字符串的结尾。   
  31.   
  32. 在匹配模式中指定某一个范围而不局限于具体的字符:   
  33.         []。如:[A-Z]从A到Z范围内任何一个大写字母相匹配。    
  34.     说明:当“^”出现在 “[]”内时就被视做否定运算符;而当“^”位于“[]”之外,或没有“[]”时,则应当被视做定位符。   
  35. 优先级如下:   
  36.     1.\ 转义符      
  37.     2.(), (?:), (?=), [] 圆括号和方括号      
  38.     3.*, +, ?, {n}, {n,}, {n,m} 限定符      
  39.     4.^, $, \anymetacharacter 位置和顺序      
  40.     5.|“或”操作    
  41.   
  42. 正规表达式对象包含正则表达式模式以及表明如何应用模式的标志。   
  43.     语法有:   
  44.     1。 re = /pattern/[flags]      
  45.     2。 re = new RegExp("pattern",["flags"])    
  46. 参数    
  47. re    
  48. 必选项。将要赋值为正则表达式模式的变量名。    
  49. Pattern    
  50. 必选项。要使用的正则表达式模式。如果使用语法 1,用 "/" 字符分隔模式。如果用语法 2,用引号将模式引起来。    
  51. Flags    
  52. 可选项。如果使用语法 2 要用引号将 flag 引起来。标志可以组合使用,可用的有:    
  53. 代码   
  54. g (全文查找出现的所有 pattern)       
  55. i (忽略大小写)       
  56. m (多行查找)     
  57.   
  58. exec方法:   
  59. 用正则表达式模式在字符串中运行查找,并返回包含该查找结果的一个数组。    
  60. re.exec(str)   
  61. match 方法    
  62. 使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回。   
  63. str.match(re)    
  64. search 方法    
  65. 返回与正则表达式查找内容匹配的第一个子字符串的位置。   
  66. str.search(re)   
  67. test方法   
  68. 返回一个 Boolean 值,它指出在被查找的字符串中是否存在模式。    
  69. re.test(str)    
  70.   
  71. 二:网摘实例   
  72. 在使用RegularExpressionValidator验证控件时的验证功能及其验证表达式介绍如下:   
  73. 只能输入数字:“^[0-9]*$”   
  74. 只能输入n位的数字:“^d{n}$”   
  75. 只能输入至少n位数字:“^d{n,}$”   
  76. 只能输入m-n位的数字:“^d{m,n}$”   
  77. 只能输入零和非零开头的数字:“^(0|[1-9][0-9]*)$”   
  78. 只能输入有两位小数的正实数:“^[0-9]+(.[0-9]{2})?$”   
  79. 只能输入有1-3位小数的正实数:“^[0-9]+(.[0-9]{1,3})?$”   
  80. 只能输入非零的正整数:“^+?[1-9][0-9]*$”   
  81. 只能输入非零的负整数:“^-[1-9][0-9]*$”   
  82. 只能输入长度为3的字符:“^.{3}$”   
  83. 只能输入由26个英文字母组成的字符串:“^[A-Za-z]+$”   
  84. 只能输入由26个大写英文字母组成的字符串:“^[A-Z]+$”   
  85. 只能输入由26个小写英文字母组成的字符串:“^[a-z]+$”   
  86. 只能输入由数字和26个英文字母组成的字符串:“^[A-Za-z0-9]+$”   
  87. 只能输入由数字、26个英文字母或者下划线组成的字符串:“^w+$”   
  88. 验证用户密码:“^[a-zA-Z]w{5,17}$”正确格式为:以字母开头,长度在6-18之间,   
  89. 只能包含字符、数字和下划线。   
  90. 验证是否含有^%&’,;=?$”等字符:“[^%&’,;=?$x22]+”   
  91. 只能输入汉字:“^[u4e00-u9fa5],{0,}$”   
  92. 验证Email地址:“^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$”   
  93. 验证InternetURL:“^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$”   
  94. 验证电话号码:“^((d{3,4})|d{3,4}-)?d{7,8}$”   
  95.   
  96. 正确格式为:“XXXX-XXXXXXX”,“XXXX-XXXXXXXX”,“XXX-XXXXXXX”,   
  97.   
  98. “XXX-XXXXXXXX”,“XXXXXXX”,“XXXXXXXX”。   
  99. 验证身份证号(15位或18位数字):“^d{15}|d{}18$”   
  100. 验证一年的12个月:“^(0?[1-9]|1[0-2])$”正确格式为:“01”-“09”和“1”“12”   
  101. 验证一个月的31天:“^((0?[1-9])|((1|2)[0-9])|30|31)$”   
  102.   
  103. 正确格式为:“01”“09”和“1”“31”。   
  104.   
  105. 匹配中文字符的正则表达式: [u4e00-u9fa5]   
  106. 匹配双字节字符(包括汉字在内):[^x00-xff]   
  107. 匹配空行的正则表达式:n[s| ]*r   
  108. 匹配HTML标记的正则表达式:/< (.*)>.*|< (.*) />/   
  109. 匹配首尾空格的正则表达式:(^s*)|(s*$)   
  110. 匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*   
  111. 匹配网址URL的正则表达式:http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?   
  112.   
  113.   
分享到:
评论

相关推荐

    Shell正则表达式学习笔记

    正规表示法(或称为常规表示法)是透过一些特殊字符的排列,用以搜寻/取代/删除一列或多列文字字符串, 简单的说,正规表示法就是用在字符串的...1. 正则表达式 用来在文件中匹配符合条件的字符串,正则表达式是“包含匹

    JAVA笔记(根据马士兵的java视频整理).pdf

    本资源摘要信息是根据马士兵的java视频整理的JAVA笔记,涵盖了JAVA基础知识、数据结构、语法基础、面向对象编程、异常处理、数组、集合类、线程、网络编程、图形化用户接口、元数据、正规表达式、JDK、Java Web编程...

    软考程序语言基础知识学习笔记

    正规表达式是词法分析的形式化表示方法。正规式定义中“|”读为“或“·”读为“连接”*”读为“闭包”(即,任意有限次的自重复连接)。正规式可以构造词法分析程序,但属于非形式化描述。正规式的优点是更加清晰和...

    编译原理(课堂笔记)佛大.pdf

    总的来说,编译原理涉及的知识广泛,包括正规表达式、自动机理论、上下文无关文法、抽象语法树、中间代码生成、优化技术以及语义分析等,这些都是构建高效、可靠编译器的基础。学习编译原理有助于深入理解计算机系统...

    编译原理笔记111.pdf

    5. **有限状态自动机(DFA/NFA)**:DFA(确定有限状态自动机)和NFA(非确定有限状态自动机)是识别正规集的工具。通过状态图表示状态转移,DFA只有一个路径可到达终止状态,而NFA可能存在多条路径。 6. **确定化...

    离散数学期末复习笔记【精华版】.pdf

    #### 1. 命题逻辑与证明 - 命题的定义及其基本运算(与、或、非、蕴含、当且仅当) - 逻辑等价、蕴含关系和有效推理规则 - 证明方法:直接证明、反证法、归纳法、构造法等 #### 2. 集合论基础 - 集合的表示、运算和...

    大二下PPT,笔记,试卷.zip

    1. **形式语言基础**:定义正则语言、上下文无关语言和上下文敏感语言,通过正规表达式、有限状态自动机(NFA、DFA)进行表示。 2. **正则表达式与NFA/DFA**:理解正则表达式的构造规则,转化成非确定性/确定性有限...

    c#学习笔记.txt

    c#学习笔记(1) 51099在线学习网发布 文章来源:网络收集 发布时间:2006-05-25 字体: [大 中 小] 51099在线学习网 http://www.51099.com 1, 结构(struct) 与 类(class) [attributes] [modifiers] struct ...

    斯坦福机器学习笔记

    此时,模型表达式变为 \( h_\theta(x) = \theta_0 + \theta_1 x_1 + \theta_2 x_2 + ... + \theta_n x_n \)。 - **3.2 多变量梯度下降(Gradient descent for multiple variables)** - 多变量线性回归中的梯度...

    编译原理-课堂笔记01-20.02.17

    通过正规表达式与有限自动机进行形式化表达 2 语法分析 根据语法规则,将单词串分析为语法元素 自上而下 LL(1)预测 自下而上 算符优先分析 LR分析 3 语义分析+中间代码生成 调用子程序 构造语法树 推导的逆过程称为...

    编译原理复习笔记——把某一种高级语言程序等价地转换成另一种低级语言程序(如汇编语言或机器语言程序)的程序

    正规集和正规表达式是描述有限语言的工具,而确定有限自动机(DFA)和非确定有限自动机(NFA)是识别这些语言的计算模型。它们之间的等价性关系在编译器设计中至关重要,因为它们提供了将语言规则转化为可执行程序的...

    清华笔记:计算共形几何讲义 (11)黎曼映照(Riemann Mapping)的存在性1

    它提供了一个解析表达式,将多边形区域共形映射到单位圆盘。然而,对于更复杂的区域,如三维曲面,Schwarz-Christoffel公式并不适用,此时可能需要借助全纯微分或离散Ricci流等工具。 总之,黎曼映照定理是共形几何...

    FormalLanguagesAndCompilers-Notes:2012年都灵理工大学“形式语言和编译器”课程的笔记

    此外,还会讲解正规表达式和有限状态自动机(FSA),它们是识别和生成正则语言的基础。 编译器是将源代码转换为目标代码的关键组件,它包含词法分析、语法分析、语义分析和优化等多个阶段。笔记将详细阐述这些步骤...

    cse280-笔记本

    9. **形式语言和自动机**:涵盖正规集、正规表达式、有限状态自动机和上下文无关语言。 通过这些Jupyter Notebook,学生可以逐步学习离散数学的概念,并通过实际操作来加深理解。教师可能还会在Notebook中嵌入练习...

    2020年计算机四级数据库工程师考点笔记.pdf

    1. **查询优化**:优化查询是数据库性能的关键,包括合理使用索引、避免排序、消除对大型表的顺序存取、避免相关子查询、简化正规表达式、利用临时表、排序替代非顺序磁盘存取、正确设置连接条件、明智使用存储过程...

    吴恩达机器学习作业Python实现(线性回归)

    这通常通过求解矩阵形式的正规方程完成:(X^T X)^-1 X^T y,其中X是特征矩阵,y是目标变量向量。在Python中,我们可以使用NumPy的线性代数模块来计算这个表达式。 完成模型训练后,我们会进行模型评估。常见的评估...

Global site tag (gtag.js) - Google Analytics