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"是什么意思
(?P 吗?regexp) (?>) :原子集团或独立的组分,(?|) :复位- 复位等效支路中# .NET .NET/C
- 群介绍:捕获
- 本文在参考
regular-expressions.info capturing将军集团 - Java的命名规则:概述和
(? (非堆栈溢出的链接)regex) - 其他语言:Python
(? regex) (?P ,.NET,PHP和Perlregex) (? ,regex) (?P regex) (? regex)
- 本文在参考
lookarounds
- lookaheads:
(?=...) :正,负(?!...) : - lookbehinds:
(?<=...) :正,负(?:(不支持JavaScript) - 在追溯的范围:
- 所需的长度是恒定的lookbehinds PHP,Perl,Python,Ruby
- lookarounds有限长度
{0,n} Java - 可变长度是允许lookbehinds .net
- 替代品:追溯
- 利用
\K (PHP,Perl是支持\K 口味) - 交替使用的Python模块
- 《哈克路
- 负外部JavaScript的链接equivalents追溯
- 利用
这些
- 口味:全球最
g ,i :不区分大小写,u :Unicode扩展:x Whitespace - 当前位置:
c Perl Perl,PHP
其他:
| :交替(OR)算子,. :任何字符,字符点[.] :文学- 你必须escaped特殊字符?
- 控制(动词
(*PRUNE) PHP和Perl),(*SKIP) ,(*FAIL) 和(*F) - PHP的:
(*BSR_ANYCRLF) Only
- PHP的:
- 递归(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特异性信息
好。
(我用
好。
- Java
- 官方文件:型javadoc,Oracle的正则表达式教程
- "在
java.util.regex.Matcher 之间的差异的函数:-
matches() ):《火柴锚式两个都必须输入开始和比 -
find() ):A匹配可能是任何地方的输入字符(串) -
lookingAt() :必须在比赛开始的两个输入端锚式只读 - (在anchors将军第",看到anchors")
-
- 唯一的
java.lang.String 函数,正则表达式的验收:matches(s) ,replaceAll(s,s) ,replaceFirst(s,s) ,split(s) ,split(s,i) - *安(opinionated鸭)详细讨论的disadvantages鸭在
java.util.regex 缺失的特征。
- .net
- 如何读一.net正则表达式与前瞻,看后面,capturing组和后端REFERENCES混合在一起吗?
- 官方文件:
- BOOST REGEX发动机:通用的语法,使用Perl的语法(市TextPad、崇高的文本,是吗???????????????)
- JavaScript 1.5的一般信息和正则表达式对象
- .net
- 不要使用正则表达式的两个parse:HTML
- 多尼
- 多尼