`
alex8946
  • 浏览: 363088 次
  • 性别: Icon_minigender_1
  • 来自: 广东广州
社区版块
存档分类
最新评论

以前正规表达式的学习笔记

阅读更多
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.      
分享到:
评论

相关推荐

    Shell正则表达式学习笔记

    正规表示法(或称为常规表示法)是透过一些特殊字符的排列,用以搜寻/取代/删除一列或多列文字字符串, 简单的说,正规表示法就是用在字符串的处理上面的一项『表示式』。正规表示法并不是一个工具程序, 而是一个字符...

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

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

    斯坦福机器学习笔记

    ### 斯坦福机器学习笔记知识点总结 #### 1. 机器学习介绍 - **1.1 什么是机器学习?** - 机器学习是一种数据分析技术,它使计算机能够在不进行明确编程的情况下“学习”。其核心是构建算法,通过这些算法来解析...

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

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

    c#学习笔记.txt

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

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

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

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

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

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

    在Python中,我们可以使用NumPy的线性代数模块来计算这个表达式。 完成模型训练后,我们会进行模型评估。常见的评估指标包括均方误差(Mean Squared Error, MSE)、均方根误差(Root Mean Squared Error, RMSE)和...

    cse280-笔记本

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

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

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

    编译原理复习ppt编译原理复习ppt编译原理复习ppt编译原理复习ppt

    - 制作复习卡片或笔记,强化记忆。 - 参加讨论组或研讨会,与他人交流学习心得。 通过以上详尽的复习,学习者应能够对编译原理有全面且深入的理解,并在考试中取得优异成绩。在实践中不断巩固理论知识,才能真正...

    离散数学课件

    9. **形式语言与自动机**:离散数学探讨有限状态自动机(如确定性和非确定性DFA/NFA)、正则表达式、正规集和上下文无关文法,这些都是编译原理和形式语言理论的基础。 10. **编码理论**:包括错误检测和纠正码,如...

    用C++ 写的一个C词法分析器

    2. **定义词法规则**:词法分析器的规则基于正则表达式或正规文法,这些规则定义了如何识别有效的标记,如标识符、关键字、运算符、常量等。 3. **分词**:根据规则,词法分析器将连续的字符序列划分为一个个独立的...

    学科重点-《离散数学》总复习.zip

    7. **形式语言与自动机**:涉及正则表达式、正规集、确定有限状态自动机(DFA)、非确定有限状态自动机(NFA)、上下文无关语言(CFL)及推导树等。 8. **计算理论**:介绍计算模型,如图灵机,以及可计算性理论,...

    LFA:Repozitul pentru cursul de Limbaje Formale si Automate

    2. **讲义和笔记**:可能包含PDF格式的课程大纲、讲义、课件,这些文档会深入讲解形式语言的理论概念,如正规语言、上下文无关语言、Chomsky层次等。 3. **练习题和解答**:帮助学生巩固理论知识的习题集,可能包括...

Global site tag (gtag.js) - Google Analytics