Regex教程 C,c++、Java、Perl, JavaScript, Python,Ruby等等。它还用于word等字处理程序,帮助用户搜索文档中的文本,也用于各种ide。 正则表达式定义的模式从左到右应用于给定的字符串或文本。正则表达式字符正则表达式有以下几种不同类型的字符:
- 元字符
- 量词
- 组和范围
- 转义字符或字符类
元字符
元字符 |
描述 |
例子 |
^ |
此字符用于将表达式匹配到字符串开头的右侧。 |
^一个匹配以'开头的字符串的表达式。一个,例如“Aab ", "a9c", "apr", "aaaaab"等。 |
$ |
$符号用于匹配字符串末尾左边的表达式。 |
r美元匹配以r结尾的字符串的表达式,例如“Aaabr " "ar" "r" "aannn9r"等。 |
. |
该字符用于匹配字符串中除行结束符(即/n)以外的任何单个字符。 |
b.x表达式是否匹配字符串,例如"bax" "b9x" "bar". |
| |
它用于匹配任意一侧的特定字符或一组字符。如果匹配左边的字符,则忽略右边的字符。 |
A |是一个表达式,它给出各种字符串,但每个字符串包含一个或b. |
\ |
用于转义字符串中此符号后面的特殊字符。 |
|
一个 |
它用于匹配字符串中的字符'A'。 |
该表达式匹配那些至少一次性一个是礼物。这样的字符串是"Amcx" "mnAr" "mnopAx4". |
Ab |
它用于匹配字符串中的子字符串'ab'。 |
该表达式匹配“Ab”至少出现过一次。这样的字符串是"Abcx", "mnAb", "mnopAbx4". |
量词在正则表达式中使用量词来指定字符出现的次数。
字符 |
描述 |
例子 |
+ |
此字符指定一个表达式在其左边一次或多次。 |
s +是一个给出的表达式吗“s”、“党卫军”"瑞士等等。 |
? |
这个字符指定一个表达式在它的左边0(0)或1(1)次。 |
是吗?是一个表达式,它给出一个“或““As”,而不是“ass”。 |
* |
此字符指定一个表达式在其左边0次或更多次 |
Br *是一个给出的表达式吗"B" "Br" "Brr" "Brrr",等等…… |
{x} |
它只指定x次左边的表达式。 |
马伯{5}是一个表达式,它给出了以下包含5个b的字符串: “Mabbbbb” |
{x} |
它指定一个表达式在它的左边x次或更多次。 |
Xb {3}是一个表达式,它给出至少包含3个b的各种字符串。这样的字符串是"Xbbb”、“Xbbbb”等等。 |
{x, y} |
它指定一个表达式在它的左边,至少x次但小于y次。 |
公关{3、6}提供两个字符串的表达式。 这两个字符串如下: “Prrrrr”和“Prrrrr” |
组和范围正则表达式中的组和范围定义括在括号中的字符集合。
字符 |
描述 |
例子 |
( ) |
它用于匹配简单括号中的所有内容。 |
(xy)匹配以下字符串的表达式: “Axy” |
{} |
它用于匹配左字符串花括号中定义的特定次数。 |
xz {4 6}匹配以下字符串的表达式: “xzzzzz” |
[] |
它用于匹配方括号中定义的字符范围中的任何字符。 |
xz (atp) r匹配以下字符串的表达式: "xzar", "xztr"和"xzpr" |
(评定) |
它分别匹配p q和r。 |
下面的字符串与这个表达式匹配: p q r。 |
[pqr] (xy) |
它匹配p q或r,后面跟着x或y。 |
下面的字符串与这个表达式匹配: "px" "qx"和"rx" "py" "qy"和"ry" |
(?:……) |
它用于匹配非捕获组。 |
A(?:nt|pple)是一个匹配以下字符串的表达式: “苹果” |
(^……) |
它匹配方括号中没有定义的字符。 |
假设,Ab [^ pqr]仅匹配以下字符串的表达式: “Ab” |
的[a -ž] |
匹配小写字母a到z。 |
这个表达式匹配如下字符串: "a", "python", "good"。 |
的[a -ž] |
匹配A ~ Z的大写字母。 |
这个表达式匹配如下字符串: “优秀”,“自然”。 |
^ [a-zA-Z] |
它用于匹配以小写字母或大写字母开头的字符串。 |
这个表达式匹配如下字符串: "A854xb" "pv4fv" "cdux" |
[0 - 9] |
它匹配0到9之间的数字。 |
这个表达式匹配如下字符串: “9845”,“54455” |
(五个母音字母) |
这个方括号只匹配小写元音字母。 |
- |
(五个母音字母) |
这个方括号只匹配大写元音字母。 |
- |
ab(第4 - 9 ^) |
它匹配方括号中没有定义的数字或字符。 |
该表达式匹配不包含5、6、7和8的字符串。 |
转义字符或字符类
字符 |
描述 |
\ s |
它用于匹配一个空白字符。 |
\ S |
它用于匹配一个非空白字符。 |
\ 0 |
它用于匹配NULL字符。 |
、一个 |
它被用来搭配铃铛或闹钟。 |
\ d |
它用于匹配一个十进制数字,即从0到9。 |
\ D |
它用于匹配任何非十进制数字。 |
\n它帮助用户匹配新的行。 |
\ w |
它用于匹配字母数字 (0-9a-zA-Z)字符。 |
\ W |
它用于匹配一个非单词字符 |
\ b |
它用于匹配单词边界。 |
不同语言中的正则表达式以下脚本和编程语言使用正则表达式:
- Java中正则表达式的使用
- 正则表达式在PHP中的使用
- 在Python中使用正则表达式
- 在JavaScript中使用正则表达式
Java正则表达式的使用(Java Regex)在Java语言,正则表达式或正则表达式是用于操作、搜索和编辑字符串的应用程序编程接口。方法,可以在java中使用正则表达式regex API包在你的代码中。 下面有三个类别,它们属于java.util.regex包:
- 正则表达式。模式:这个类有助于定义模式
- 正则表达式。匹配器:该类帮助使用模式对输入字符串执行匹配操作。
- PatternSyntaxException:该类通过指示正则表达式模式中的语法错误来帮助用户。
util.regex.Pattern类这个类(util.regex.Pattern)是Regex的编译版本,可以通过compile()方法调用。compile()方法接受正则表达式作为第一个参数。该类不提供任何公共构造函数。 下面是Pattern类中的不同函数:
方法() |
描述 |
静态模式编译(字符串正则表达式) |
此方法用于将给定的正则表达式编译为模式。 |
Matcher (CharSequence输入) |
此方法创建一个匹配器,用于将模式与用户输入的给定字符串进行匹配。 |
字符串toString () |
该方法返回字符串的表示形式。 |
字符串[]split(CharSequence输入) |
此方法根据匹配情况拆分字符串。 |
静态布尔匹配(字符串正则表达式CharSequence输入) |
该方法将正则表达式与给定的输入字符串匹配。 |
util.regex.Matcher类该类用于在任何对象或模式上调用matcher()函数对输入字符串执行匹配操作。该类没有定义任何公共构造函数。 以下是Matcher类中的不同函数:
方法() |
描述 |
布尔匹配() |
这个方法检查正则表达式是否与模式匹配。 |
布尔发现() |
此方法搜索字符串中regex的出现情况。 |
Boolean find(int start) |
此方法从起始索引开始搜索字符串中regex的出现情况。 |
字符串组() |
此方法有助于查找匹配的子序列。 |
int start () |
此方法有助于返回匹配子序列的起始索引。 |
int结束() |
此方法有助于返回匹配子序列的最后一个索引。 |
int groupCount () |
此方法有助于返回匹配子序列的总数。 |
Java中使用正则表达式的例子示例1:这个例子有助于理解Java代码中的点运算符。
现在就测试输出:
现在就测试输出: 正则表达式在PHP中的使用中的正则表达式(regex)PHP借助PCRE (Perl Compatible Regular Expression)库中的函数实现。 下表中有不同类型的内置函数,它们用于处理正则表达式。这些函数区分大小写。
功能 |
描述 |
preg_match () |
的preg_match ()如果正则表达式与特定字符串匹配,则返回true,否则返回false。 |
preg_match_all () |
的preg_match_all ()函数用于匹配字符串中出现的所有pattern。 |
preg_replace () |
的preg_replace ()函数匹配模式,然后将其替换为字符串。 |
preg_split () |
的preg_split ()函数使用正则表达式将字符串分成子字符串。 |
Preg_grep () |
的preg_grep ()函数用于返回输入数组中与正则表达式模式匹配的所有元素。 |
在PHP中使用正则表达式的例子示例1:下面的示例帮助您理解如何在正则表达式中使用字符类或组来匹配string。
上面的php程序给出了以下输出:
示例2:下面的示例有助于理解如何在PHP代码中使用'^'字符。
上面的php程序给出了以下输出:
Python中正则表达式的使用(Python Regex)的代码中可以使用正则表达式(Regex)Python通过在脚本中导入re模块。这个模块定义了用于处理正则表达式的各种函数或方法。 下表定义了各种函数:
方法 |
描述 |
re.match () |
的re.match ()方法用于返回与正则表达式匹配的字符串。 |
re.search () |
的re.search ()当在字符串或文本中找到模式时,方法返回匹配的对象。 |
re.findall () |
的re.findall ()方法用于返回包含所有匹配项的字符串列表。 |
re.split () |
的re.split ()方法在与正则表达式匹配的基础上对字符串进行分割。 |
re.sub () |
的re.sub ()方法用于将匹配的字符串替换为另一个字符串。 |
在Python中使用正则表达式的例子示例1:方法的使用,此示例将帮助您理解如何使用findall ()方法。
上面带有正则表达式的python程序给出了以下输出:
示例2:方法的使用,此示例将帮助您理解如何使用Split (), search()和sub()python脚本中的方法。
上面带有正则表达式的python程序给出了以下输出:
['零:',':','二:',‘三:’,‘四:’,‘五:’,‘六:’,‘七:’,‘八:’,‘九:’,‘十:“二十:,“三十:”,“四十:”,“五十:”,“六十:”,“七十”,“八十”,“九十”,“百:“,”)
在JavaScript中使用正则表达式你可以通过以下两个字符串方法在JavaScript代码中轻松使用正则表达式:
- 搜索():此方法在字符串中搜索正则表达式,并返回找到匹配项的位置。
- 替换():此方法用于替换字符串中匹配的字符后返回字符串。
JavaScript中的正则表达式示例示例1:本例使用search ()方法中的JavaScript用于理解正则表达式的脚本。
现在就测试上面带有正则表达式的JavaScript程序给出了如下输出:
示例2:本例使用替换()方法,用于理解正则表达式。
现在就测试上面带有正则表达式的JavaScript程序给出了如下输出:
替换子字符串后,修改后的字符串为:You are a Good Student
|