关于引用:引用-这个regex是什么意思?

Reference - What does this regex mean?

这是什么?

这是常见问答的集合。这也是一个社区wiki,因此邀请每个人参与维护。

为什么会这样?

Regex一直在苦苦地问我Ze代码类型的问题,回答不好,没有任何解释。此参考旨在提供质量问答的链接。

范围是什么?

此引用是针对以下语言:PHP、Perl、JavaScript、Python、Ruby、Java、.NET。

这可能太宽泛了,但这些语言具有相同的语法。对于特定的特性,后面有语言标签,例如:

  • 什么是正则表达式平衡组?.NET


堆栈溢出正则表达式常见问题解答

在线教程好的。

  • 雷克塞酮
  • 正则表达式信息

量词好的。

  • 零或更多:*贪婪,*?不情愿,*+占有
  • 一个或多个:+:贪婪,+?:不情愿,++:占有
  • ?:可选(零或一)
  • 最小/最大范围(全包):{n,m}:n&m之间,{n,}:n-或更多,{n}:正好n
  • 贪婪、不情愿(也就是说"懒惰"、"不听话")和占有量词之间的区别:
    • 贪婪vs.不情愿vs.占有量词
    • 关于贪婪与非贪婪区别的深入探讨
    • {n}{n}?有什么区别?
    • 有人能给我解释所有格量词吗?PHP、Perl、Java、Ruby
    • 模仿所有格量词.NET
    • 非堆栈溢出引用:来自Oracle,正则表达式.info

字符类好的。

  • 方括号和圆括号有什么区别?
  • [...]:任何一个字符,[^...]:否定/任何字符,但
  • [^]匹配任何一个字符,包括换行javascript
  • [\w-[\d]]/[a-z-[qz]]:set subtraction.net,xml schema,xpath,jgsoft
  • EDCOX1〔17〕:设交集Java,Ruby 1.9 +
  • [[:alpha:]]:posix字符类
  • 为什么EDCOX1×19,EDOCX1,20,EDCOX1,21?在Java中得到不同的结果?爪哇
  • 速记:
    • 数字:\d数字,\d非数字
    • 字字符(字母、数字、下划线):\w:字字符,\w:非字字符
    • 空白:\s:空白,\s:非空白
  • Unicode类别(\p{L}, \P{L}等)

转义序列好的。

  • 水平空白:\h:空格或制表符,\t:制表符
  • Newlines:


    • :回车和换行

    • :通用换行PHP
  • 反向空白序列:\h非水平空白字符,\V非垂直空白字符,
    非换行字符pcre php5 java-8
  • 其他:\V:竖排,\e:转义符

锚好的。

  • ^行开始/输入,\b字边界,\b非字边界,$行结束/输入
  • \A开始输入,\Z结束输入php、perl、ruby
  • EDCOX1〔44〕:输入的末尾(Python中的EDCOX1,44),.NET,PHP,PCRE,Java,Ruby,ICU,SWIFT,Objul-C
  • \G:开始匹配php、perl、ruby

(也参见"风味特定信息:Java":EDCOX1中的函数(48))好的。

组好的。

  • (...)捕获组,(?:):非捕获组
    • 为什么我只重capturing集团capturing最后的比赛吗?
  • \1:后向引用和捕获组捕获的参考基准,$1集团
    • 是什么意义的backslash数后,在正则表达式?
    • \g<1>123:如何跟随\1碳捕获组,例如,与数?Python的:
  • 在subpattern (?i:regex)均是什么吗?
  • 的"P"是什么意思(?Pregexp)吗?
  • (?>):原子集团或独立的组分,(?|):复位
    • 复位等效支路中# .NET .NET/C
  • 群介绍:捕获
    • 本文在参考regular-expressions.infocapturing将军集团
    • Java的命名规则:概述和(?regex)(非堆栈溢出的链接)
    • 其他语言:Python (?regex)(?Pregex),.NET,PHP和Perl (?regex)(?Pregex)(?regex)

lookarounds

  • lookaheads:(?=...):正,负(?!...)
  • lookbehinds:(?<=...):正,负(?:(不支持JavaScript)
  • 在追溯的范围:
    • 所需的长度是恒定的lookbehinds PHP,Perl,Python,Ruby
    • lookarounds有限长度{0,n}Java
    • 可变长度是允许lookbehinds .net
  • 替代品:追溯
    • 利用\K(PHP,Perl是支持\K口味)
    • 交替使用的Python模块
      • 《哈克路
      • 负外部JavaScript的链接equivalents追溯

这些

  • 口味:全球最gi:不区分大小写,u:Unicode扩展:xWhitespace
  • 当前位置:cPerl Perl,PHP ><wyn>e</wyn>:表达一<img src=

其他:

  • |:交替(OR)算子,.:任何字符,字符点[.]:文学
  • 你必须escaped特殊字符?
  • 控制(动词(*PRUNE)PHP和Perl),(*SKIP)(*FAIL)(*F)
    • PHP的:(*BSR_ANYCRLF)Only
  • 递归(PHP和Perl):(?R)(?0)(?1)(?-1)(?&groupname)

普通的任务

  • 有两个字符串之间的{...}卷曲牙套。
  • 模式匹配(或替换),在这样的情况下,S1,S2,S3,……
  • 我发现所有的YouTube视频的技术的入侵检测系统中使用的正则表达式的字符串?
  • 验证:
    • 互联网的网址,电子邮件地址(主机:端口号:正则表达式正则表达式,和非选择的密码)
    • 数字:数,最小-最大的范围(如1~31),电话号码,日期
    • 正则表达式解析HTML和国有企业的一般信息:当不使用正则表达式>"

高级正则表达式赋

  • 字符串和数字:
    • 正则表达式匹配一行,两个不包含一个字吗?
    • 这是我palindromes PCRE型检测吗?
    • 其长度的字符串匹配的是一个四阶功率
    • 正则表达式是如何找到这triangular数?
    • 如何确定如果一号是一个素数与正则表达式?
    • 如何在比赛中的字符的字符串和正则表达式。
  • 其他:
    • 我们怎么能匹配一个N B N与Java正则表达式?
    • brackets匹配嵌套的
      • 采用递归型PHP,Perl
      • 采用平衡组.net
    • "垂直"在一个正则表达式匹配字符"图像"
    • 高度表上的问题voted正则表达式对高尔夫的代码
    • 如何使双数量词重复相同的号码呢?
    • 两个不可能匹配正则表达式:(?!a)a
    • 匹配/删除/ this在contexts replace除A,B和C
    • brackets与正则表达式匹配嵌套的递归或使用不平衡群体?

flavor特异性信息

好。

(我用*这些市场,这部分包含非堆栈溢出的链接。)

好。