正则表达式:匹配符号
译注:back-reference 网络解释为逆向引用、后向引用, 用于重复搜索前面某个分组匹配的文本.
Non-capturing group 网络解释为非捕获组, 就是输入字符串和捕获组匹配的那一部分将不被保存在内存中

[ ... ]匹配任何字符. 例如: [aeIoU] 匹配任何小写元音字母.
连续设置可以在开始和结束之间使用破折号. 例如: [a-z] 匹配任何小写字符.
设置包含破折号 (-),使用它作为第一个或最后一个字符.
设置包含方括号,使用它作为第一个字符的设置. 例如: [][] 将匹配任意 [ 或 ].
注意:特殊字符在设置内不保留他们的特有含义,有例外: \\,\^,\-,\[ 与 \] ,它们在一个设置内匹配转义符.
[^ ... ]匹配任何不在指定範圍內的任意字符. 例如: [^0-9] 不匹配任何数字. 要匹配 "^" 字符本身,请使用 (\^).
[:class:]在字符的给定类中匹配字符. 有效类是:
alpha (任何字母字符),alnum (任何字母数字字符),lower (任何小写字母),
upper (任何大写字母),digit (任何十进制数字 0-9),xdigit (任何十六进制数字,0-9,A-F,a-f),
space (任何空白字符),blank (只有一个空格或制表符),print (任何可打印字符),
graph (除空格外的任何可打印字符),cntrl (任何控制字符 [ascii 127 或 <32])
punct (任何标点字符). 因此 [0-9] 相当于 [[:digit:]].
[^:class:]在类中除第一个字符外,不匹配任何字符
( ... )组. 组中的元素可按序重复处理. 例如: (ab)+ 将匹配 "ab" 或 "abab",但不匹配 "aba".
组能保存匹配的文本,以便由函数返回的数组后向引用,但需取决于设定的标志值.
(?i)不区分大小写. 该标志对组无效. 它指定正则表达式匹配时不涉及大小写.
(?-i)(默认) 区分大小写. 该标志对分组无效. 它指定正则表达式匹配时区分大小写.
(?i ... )区分大小写的组. 仅工作于正常组,在分组内执行匹配时区分大小写.
(?-i ... )区分大小写的组. 仅工作于正常组,在分组内执行匹配时区分大小写. 主要用于 (-i) 标志之后, 或一个区分大小写的分组内.
(?: ... )非捕获组. 仅工作于正常组,但是不记录数组的匹配字符,被匹配的文本也不会用作后向引用.
(?i: ... )不区分大小写的非捕获组. 仅工作于捕获组,在非捕获组内执行不区分大小写的匹配.
(?-i: ... )区分大小写的非捕获组. 仅工作于非捕获组,在非捕获组内执行区分大小写的匹配.
(?m)^ 与 $ 匹配数据内的换行符.
(?s). 匹配任意字符,包括换行. (默认 "." 不匹配换行)
(?x)忽略空白区域和 # 注释.
(?U)反转贪婪的量词.
.匹配任何的单字符 (除换行以外)..
|或句点" . ",可以匹配|前的字符也可以匹配|之后的字符.
\退出一个特殊字符 (让它匹配实际字符) 或者引用一个特殊字符类型 (见下文)..
\\匹配一个真实的反斜线 (\).
\a报警字符(打印它的效果是电脑嘀一声),即字符 BEL (chr(7)).
\A只匹配字符串的开头.
\b匹配一个单词边界,也就是单词和空格之间的位置. 例如:"er\b" 可以匹配 "never" 中的 "er",但不能匹配 "verb" 中的 "er"
\B匹配非单词边界. 例如: “er\B” 能匹配 “verb” 中的 “er”,但不能匹配 “never” 中的 “er”.
\c匹配一个控制字符,基于下一个字符. 例如:,\cM 匹配 ctrl-M.
\d匹配数字字符, 等价于[0-9].
\D匹配非数字字符, 等价于[^0-9].
\e匹配一个退出符 (chr(27)).
\E结束大小写修改.
\f匹配一个换页符 (chr(12)).
\h匹配一个换行符.
\H任何不是水平的空白字符.
\n匹配换行符 (@LF,chr(10)).
\Q引用 (停用) Metacharacters 模式到 \E 时为止. 译注: Metacharacters = 元字符,指那些可以代表特殊含义的字符
\r匹配一个回车符 (@CR,chr(13)).
\s匹配任何的空白字符: Chr(9) 到 Chr(13).包括:水平制表符,换行,垂直列表符,换页,回车以及标准空格 ( Chr(32) ).
\S匹配任何的非空白的字符.
\t匹配一个制表符 (chr(9)).
\v匹配一个垂直制表符.
\V匹配不是垂直制表符的任何字符.
\w匹配包括下划线的任何单词字符,等价于“[A-Za-z0-9_]”.
\W匹配任何非单词字符, 等价于“[^A-Za-z0-9_]”。.
\###匹配ASCII字符, 其代码是特定的或是后向引用的. 最多只能有 3 个八进制数字.
找到的匹配用于后向引用. 匹配先前的组. 例如: ([:alpha:])\1 将匹配一个双字母.
\x##匹配指定的ascii字符,用字符的的十六进制表示. 只能是 2 个数字. 比如:空格可以使用 "\x20" 表示.
\z只匹配字符串结束.
\Z只匹配字符串结束,或者换行之前.

重复字符

{x}重复前面的字符,精确 x 次数.
{x,}重复前面的字符,至少 x 次数.
{0,x}重复前面的字符,最多 x 次数.
{x,y}重复前面的字符,在 x 与 y 之间的次数,x、y包括在内.
*重复前面的字符,0 或更多次数. 等价于 {0,}
+重复前面的字符,1 或更多次数. 等价于 {1,}
?可能会或可能不会出现的前一字符. 等价于 {0,1}
? (在一个重复字符之后)查找最少的匹配而非最多的

字符类别 [:alnum:]字母和数字 [:alpha:]字母 [:ascii:]字符代码 0 - 127 [:blank:]空格或制表符 [:cntrl:]控制字符 [:digit:]十进制数字 (相同于 \d) [:graph:]可打印字符,排除空格 [:lower:]小写字母 [:print:]可打印字符,包括空格 [:punct:]可打印字符,排除文字和数字 [:space:]空白空间 (不完全和 \s 相同,还包括 VT: chr(11) ) [:upper:]大写字母 [:word:]"字" 字符 (相同于 \w) [:xdigit:]十六进制数

正则表达式:匹配符号的更多相关文章

  1. Html5 canvas实现粒子时钟的示例代码

    这篇文章主要介绍了Html5 canvas实现粒子时钟的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  2. HTML5数字输入仅接受整数的实现代码

    这篇文章主要介绍了HTML5数字输入仅接受整数的实现代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  3. ios – 使用大写符号在字符串swift中获取URL的正则表达式

    我尝试在文本中获取URL.所以,在此之前,我使用了这样一个表达式:但是当用户输入带有大写符号的URL时(例如Http://Google.com,它与它不匹配)我遇到了问题.我试过了:但什么都没发生.解决方法您可以使用正则表达式中的i内联标志关闭区分大小写,有关可用正则表达式功能的详细信息,请参阅FoundationFrameworkReference.(?ismwx-ismwx)Flagsetti

  4. 在Xcode4中,你可以更改用于显示隐形字符的字符吗?

    我更喜欢VisualStudio显示隐形的方式……

  5. ios – NSDictionary的不区分大小写的键

    我试图在NSDictionary上使用对于JSON响应的incase敏感案例,因为有时我的响应键类型会有所不同,有些是驼峰式,有些是小写或其他混合组合.是否有任何内置功能可以检查此案例的灵敏度情况?

  6. ios – 应用程序商店描述特殊字符

    是不是可以在AppStore描述中使用像星星这样的特殊字符了?我得到这个错误:描述不得包含标记语言.说明不得包含以下字符:★提前致谢:)解决方法仍然允许一些unicode字符.以下字符已经过测试并仍然有效:◆√至于现在他们工作正常,但苹果可以随时再次改变条件.

  7. ios – 将数组中的字符转换为整数

    即使我搜索了文档,我似乎无法弄清楚如何做到这一点.我试图弄清楚如何将数组中索引处的字符转换为整数.例如,假设我有一个名为“容器”的字符数组,我无法弄清楚该怎么做:谢谢您的帮助!解决方法Swift并不容易在原始和类型表示之间进行转换.这是一个在此期间应该有所帮助的扩展:这使您可以非常接近您想要的:对于遇到此问题的任何工程师,请参阅rdar://17494834

  8. ios – 如何在Swift 3中使用正则表达式?

    解决方法我相信.当没有其他选项适用时,将使用.allZeros.因此,使用Swift3,您可以传递一个空的选项列表或省略options参数,因为它默认为无选项:要么请注意,在Swift3中,您不再使用error参数.它现在抛出.

  9. ios – lldb断点在类目标c中的所有方法

    如何使用lldb在ObjectiveC类中的所有方法上自动设置断点?

  10. ios – 不区分大小写的字符串搜索 – iphone

    我正在寻找一种在Objective-C中的另一个字符串中执行不区分大小写的字符串搜索的方法.我可以找到搜索区分大小写的字符串的方法,并比较不敏感的案例,但不搜索不区分大小写.我想执行的搜索示例:“john”within“itoldJOHNtofindmeagoodsearchalgorithm““badIDEA”within“IthinkitsareallybaDideatopostthisque

随机推荐

  1. 法国电话号码的正则表达式

    我正在尝试实施一个正则表达式,允许我检查一个号码是否是一个有效的法国电话号码.一定是这样的:要么:这是我实施的但是错了……

  2. 正则表达式 – perl分裂奇怪的行为

    PSperl是5.18.0问题是量词*允许零空间,你必须使用,这意味着1或更多.请注意,F和O之间的空间正好为零.

  3. 正则表达式 – 正则表达式大于和小于

    我想匹配以下任何一个字符:或=或=.这个似乎不起作用:[/]试试这个:它匹配可选地后跟=,或者只是=自身.

  4. 如何使用正则表达式用空格替换字符之间的短划线

    我想用正则表达式替换出现在带空格的字母之间的短划线.例如,用abcd替换ab-cd以下匹配字符–字符序列,但也替换字符[即ab-cd导致d,而不是abcd,因为我希望]我如何适应以上只能取代–部分?

  5. 正则表达式 – /bb | [^ b] {2} /它是如何工作的?

    有人可以解释一下吗?我在t-shirt上看到了这个:它似乎在说:“成为或不成为”怎么样?我好像没找到’e’?

  6. 正则表达式 – 在Scala中验证电子邮件一行

    在我的代码中添加简单的电子邮件验证,我创建了以下函数:这将传递像bob@testmymail.com这样的电子邮件和bobtestmymail.com之类的失败邮件,但是带有空格字符的邮件会漏掉,就像bob@testmymail也会返回true.我可能在这里很傻……当我测试你的正则表达式并且它正在捕捉简单的电子邮件时,我检查了你的代码并看到你正在使用findFirstIn.我相信这是你的问题.findFirstIn将跳转所有空格,直到它匹配字符串中任何位置的某个序列.我相信在你的情况下,最好使用unapp

  7. 正则表达式对小字符串的暴力

    在测试小字符串时,使用正则表达式会带来性能上的好处,还是会强制它们更快?不会通过检查给定字符串的字符是否在指定范围内比使用正则表达式更快来强制它们吗?

  8. 正则表达式 – 为什么`stoutest`不是有效的正则表达式?

    isthedelimiter,thenthematch-only-onceruleof?PATTERN?

  9. 正则表达式 – 替换..与.在R

    我怎样才能替换..我尝试过类似的东西:但它并不像我希望的那样有效.尝试添加fixed=T.

  10. 正则表达式 – 如何在字符串中的特定位置添加字符?

    我正在使用记事本,并希望使用正则表达式替换在字符串中的特定位置插入一个字符.例如,在每行的第6位插入一个逗号是什么意思?如果要在第六个字符后添加字符,请使用搜索和更换从技术上讲,这将用MatchGroup1替换每行的前6个字符,后跟逗号.

返回
顶部