zl程序教程

您现在的位置是:首页 >  前端

当前栏目

正则表达式基础语法

2023-09-14 09:03:19 时间

当 ?紧随任何其他限定符(*、+、?、{n}、{n,}或 {n,m})之后时,匹配模式是非贪婪的。非贪婪模式匹配搜索到的、尽可能少的字符串,而默认的贪婪模式匹配搜索到的、尽可能多的字符串。


zo?与“z”和“zo”匹配,但与“zoo”不匹配。

o+?只与“oooo”中的单个“o”匹配,而o+与所有“o”匹配。

do(es)?与“do”或“does”中的“do”匹配。


匹配搜索字符串开始的位置。如果标志中包括m(多行搜索)字符,^还将匹配 \n或 \r后面的位置。

如果将 ^用作括号表达式中的第一个字符,则会对字符集求反。


匹配搜索字符串结尾的位置。如果标志中包括m(多行搜索)字符,^还将匹配 \n或 \r前面的位置。


匹配除换行符 \n之外的任何单个字符。若要匹配包括 \n在内的任意字符,请使用诸如[\s\S]之类的模式。


表示 JScript中的文本正则表达式模式的开始或结尾。在第二个“/”后添加单字符标志可以指定搜索行为。


/abc/gi是与“abc”匹配的 JScript 文本正则表达式。g(全局)标志指定查找模式的所有匹配项,i(忽略大小写)标志使搜索不区分大小写。


大多数特殊字符在括号表达式内出现时失去它们的意义,并表示普通字符。有关更多信息,请参见匹配字符的列表中的“括号表达式中的字符”。

元字符


在搜索字符串“12 345”中,\d{2}与“12”和“34”匹配。\d与“1”、“2”、“3”、“4”和“5”匹配。


在搜索字符串“The quick brown fox…”中,\w+与“The”、“quick”、“brown”和“fox”匹配。


与模式匹配并保存匹配项。您可以从由 JScript中的exec Method返回的数组元素中检索保存的匹配项。若要匹配括号字符 ( ),请使用“\(”或者“\)”。


与模式匹配,但不保存匹配项;即不会存储匹配项以备将来之用。这对于用“or”字符 (|) 组合模式部件的情况很有用。


正预测先行。找到一个匹配项后,将在匹配文本之前开始搜索下一个匹配项。不会保存匹配项以备将来之用。


^(?=.*\d).{4,8}$对密码应用以下限制:其长度必须介于 4到 8个字符之间,并且必须至少包含一个数字。

在该模式中,.*\d查找后跟有数字的任意多个字符。对于搜索字符串“abc3qr”,这与“abc3”匹配。

从该匹配项之前(而不是之后)开始,.{4,8}与包含 4-8个字符的字符串匹配。这与“abc3qr”匹配。

^和$指定搜索字符串的开始和结束位置。这将在搜索字符串包含匹配字符之外的任何字符时阻止匹配。


负预测先行。匹配与模式不匹配的搜索字符串。找到一个匹配项后,将在匹配文本之前开始搜索下一个匹配项。不会保存匹配项以备将来之用。


\b(?!th)\w+\b与不以“th”开头的单词匹配。

在该模式中,\b与一个字边界匹配。对于搜索字符串“ quick ”,这与第一个空格匹配。(?!th)与非“th”字符串匹配。这与“qu”匹配。

从该匹配项开始,\w+与一个字匹配。这与“quick”匹配。


匹配n,此处的n是一个十六进制转义码。十六进制转义码必须正好是两位数长。允许在正则表达式中使用 ASCII代码。


标识一个八进制转义码或反向引用。如果 \n前面至少有n个捕获子表达式,那么n是反向引用。否则,如果n是八进制数 (0-7),那么n是八进制转义码。


标识一个八进制转义码或反向引用。如果 \nm前面至少有nm个捕获子表达式,那么nm是反向引用。如果 \nm前面至少有n个捕获子表达式,则n是反向引用,后面跟有文本m。如果上述情况都不存在,当n和m是八进制数字 (0-7)时,\nm匹配八进制转义码nm。


正则表达式的计算方式与算术表达式非常类似;即从左到右进行计算,并遵循优先级顺序。

下表按从高到低的顺序包含了正则表达式运算符的优先级顺序。


正则表达式学习总结 正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为 元字符 )。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。
本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例)
正则表达式-入门 正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。