正则表达式简单用法

正则基础

正则表达式(Regex,简称RE)是一种根据字符串集中的每个字符串的共同特征来描述字符串集的方法。可用于搜索,编辑或处理文本和数据。简单来说,正则表达式是帮助我们根据特定格式验证或匹配字符串的方式。可以类比数据库的SQL语言,sql是搜索数据,RE是搜索字符串。正则表达式和SQL语言是开发界的两个伟大发明。

正则表达式可以用于:

验证用户的输入。

搜索给定数据中的文本。(可在文本编辑器中使用)

编译器中的解析器

语法突显,数据包嗅探器等。

要全面了解Regex,我们要理解基本知识,下面我们分别介绍,示例中我们用到在线正则解析网站regex101。

基本量词(*+?和{n})

正则表示式子中(各语言通用)中的数量词由*,+.? 和{n}组成。

* 表示匹配零个或多个其先前模式的实例。例如,abc*表示文本必须与'ab'相匹配,后跟零个或多个'c',即文本可能没有附加'c'并且文本也可能有一个或多个'c'。

+ 匹配其先前模式的一个或多个实例,例如abc+表示文本必须带有"ab",后跟一个或多个"c"。所以abc是可以拥有的至少是正确的,而abcc也是正确的。

?匹配零个或一个出现的模式,例如abc?表示文本可以是abc或ab。

{n}表示与表达式中指定的确切数字(n)匹配。例如a{2}bc表示只能有两个"a",然后是一个"bc"和一个"c"。

{n,}至少匹配指定的数字。必须具有n个或更多个前面的表达式,例如ab{2,}c表示必须具有个a,然后是两个或多个'b',然后是c。

{n,m}表示在模式的n和m(含)之间匹配。这意味着您可以在前至后之间出现m到m个事件。例如ab{2,5}c表示abbc,abbbc,abbbbc,abbbbbc都是正确的。

'.' 匹配所有非空格字符

运算符(|| [] ^和())

|表示"或"。表示与左侧的表达式或右侧的表达式匹配。例如abc|abd表示文本应为abc或abd。

[]表示文本应与尖括号中的任何字符匹配,例如a[bc]表示文本应为"a",后跟"b"或"c"。

[0-9]%表示文本应为0到9之间的任何数字,后跟'%'

[a-zA-Z]表示匹配任何一个英文字母,只要介于az或AZ之间即可。

[abc]表示文本或字符串应为a或b或c。

在任何表达式中添加"^"会否定该表达式的含义,例如[^abc]表示匹配任何除abc外的任何字符。

字符类

字符类是代表一组字符的转义序列。下面列出了Java中的一些预定义字符:

\d 表示任意数字;

\s表示空格字符(tab 空格等);

\w 任意单词字符;

\D表示任意非数字;

\S 表示任意非空格字符;

\W表示任意非单词字符。

你可能感兴趣的:(正则表达式)