正则表达式

Posted

tags:

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

  • gray,表示g后面连着r连着a连着y;
  • gr[ea]y,[]里面使用或链接;
  • [1-9]等价于[123456789];
  • ^ $ 行开头和行结尾,锚点;
  • -在[]中使用且不在字符组第一个位置时才是元字符,表示连接。[]外是符号;
  • ^在[]中使用且在字符组第一个位置时才是元字符,表示排除。[]外是表示行锚点;
  • . 匹配所有字符,在字符组里不是元字符;
  • ()多选结构自身是完整的正则表达式,[]只能匹配单个字符;多选结构没有字符组的排除功能;
  • \<   \> 词开头和词结尾,锚点;符号分隔的字母或者数字;
  • ? 可选项元素,表示之前紧邻的元素可选;
  • + 之前紧邻的元素出现一次或多次,没有时会报失败;
  • * 之前紧邻的元素出现任意多次,或者不出现;
  • ? + * 这三个统称为量词,他们限定了元素的匹配次数;
 次数下限次数上限含义
 ? 无  可以不出现,也可以只出现一次(单次可选) 
无  无  可以出现无数次,也可以不出现(任意次数均可) 
无  可以出现无数次,但至少要出现一次(至少一次) 
  • {m,n}  区间量词,允许出现的次数;
  • () 记忆其中的子表达式(需要支持反向引用), \1 表示第一个括号匹配的文本;
  • 例子:匹配9:17 am 或者 12:30 pm。(1[012]|[-9]):[0-5][0-9] (am|pm)
  • 例子:匹配24小时。//TODO
  • 使用括号的三个理由:限制多选结构、分组和捕获文本
  • 排除型字符组,仍然要匹配一个字符,只是列出的字符都会被排除
  • 转义的三种情况:\加上元字符(\*),\加上非元字符(\<),\加上任意其他字符(反斜线被忽略,默认匹配此字符)

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

PHP 正则表达式总结

正则表达式

正则表达式

正则表达式“或“的使用

正则表达式 验证数字格式 非负数 小数点后保留两位 数字正则 double正则

JS正则表达式详解