在regex 标记详细信息页面上也可以找到许多常规提示和有用的链接。
在线教程
量词
*
贪婪,*?
:不情愿,*+
:占有+
:贪婪,+?
:不愿意,++
:占有欲?
:可选(零或一){n,m}
:n之间&M,{n,}
:N或更多的,{n}
:恰好n角色类
[...]
:任何一个字符,[^...]
:否定/任何字符,但[^]
匹配任何一个字符,包括换行符 javascript[\w-[\d]]
/[a-z-[qz]]
:设置减法.net,xml-schema,xpath,JGSoft[\w&&[^\d]]
:设置交集 java,ruby 1.9+[[:alpha:]]
:POSIX字符类[^\\D2]
,[^[^0-9]2]
,[^2[^0-9]]
得到不同的结果在Java中? 爪哇\d
位数,\D
:非位数\w
::文字字符,\W
:非文字字符\s
whitespace,\S
:non-whitespace\p{L}, \P{L}
等)转义序列
\h
space-or-tab,\t
:tab\H
非水平空格字符,\V
:非垂直空格字符,\N
:非换行字符 pcre php5 java-8\v
垂直制表符,\e
:转义字符锚点
^
:行/输入的起点,\b
:单词边界和\B
:非单词边界,$
:行/输入终点\A
:输入开始,\Z
:输入结束 php,perl,ruby\z
:输入的最末端(\Z
在Python中).net,php,pcre,java,ruby,icu,swift,Objective-c\G
:比赛开始 php,perl,ruby(另请参见“特定于调味品的信息→Java→中的功能Matcher
”)
团体
(...)
:捕获组,(?:)
:非捕获组
\1
:backreference和捕获组参考,$1
:capture组参考
(?i:regex)
是什么意思?(?P<group_name>regexp)
是什么意思?(?>)
:原子组或独立组, (?|)
:分支复位
regular-expressions.info
(?<groupname>regex)
:概述和命名规则 (非堆栈溢出链接)(?P<groupname>regex)
(?<groupname>regex)
(?<groupname>regex)
(?P<groupname>regex)
(?<groupname>regex)
环顾四周
(?=...)
正,(?!...)
:负(?<=...)
positive,(?<!...)
:negative(javascript不支持)修饰符
g
:全球,i
:不区分大小写的,u
是:unicode,x
:空白扩展c
:当前位置 perl e
:表达式 php perl o
:一次 红宝石m
:multiline php perl python javascript .net java,m
:(non)多行 红宝石s
:单行(javascript或ruby不支持),s
解决方法 javascriptS
:study php U
:ungreedy php r其他:
|
:alternation(OR)运算符,.
:任何字符,[.]
:字母点字符(*PRUNE)
和(*SKIP)
(*FAIL)
(*F)
(?R)
,(?0)
并且(?1)
,(?-1)
,(?&groupname)
常见任务
高级正则表达式
风味专用信息
(除了带有标记的*
链接之外,本节包含非堆栈溢出链接。)
java.util.regex.Matcher
:
matches()
):匹配项必须同时固定在input-start和-end上find()
):匹配项可能在输入字符串(子字符串)中的任何位置lookingAt()
:比赛必须锚定为仅输入开始java.lang.String
接受的正则表达式的功能:matches(s)
,replaceAll(s,s)
,replaceFirst(s,s)
,split(s)
,split(s,i)
java.util.regex
preg_match