简单读懂正则表达式

 

正则表达式中的括号:

() 是为了提取匹配的字符串。表达式中有几个()就有几个相应的匹配字符串。(\s*)表示连续空格的字符串。

[]是定义匹配的字符范围。比如 [a-zA-Z0-9] 表示相应位置的字符要匹配英文字符和数字。[\s*]表示空格或者*号。

{}一般用来表示匹配的长度,比如 \s{3} 表示匹配三个空格,\s{1,3}表示匹配一到三个空格。

(0-9) 匹配 '0-9′ 本身。 [0-9]* 匹配数字(注意后面有 *,可以为空)[0-9]+ 匹配数字(注意后面有 +,不可以为空){1-9} 写法错误。

[0-9]{0,9} 表示长度为 0 到 9 的数字字符串。

正则表达式中的其他相关内容:

\s指的是空白字符集,包括[\r\n\t ]等;

\S指的是\s的取反;

\b匹配一个单词边界,即字与空格间的位置;

\B非单词边界匹配;

空格的正则表达式:[ ](单纯的空格);

如果需要多个正则表达式的同时生效可以采用或的形式“()|()”;

/************************************************************************************************************/

需要转义的特殊字符:$,( ),*,+,.,[,?,\,^,{,|。这些字符要想使用需要加'\'

abc+:+号用来表示前面的至少出现过一次(1/n);

abc*:*号代表可以不出现也可以出现一次或者多次(0/1/n);

abc?:?号代表前面的最多只能出现一次(0/1);

abc$:$号表示匹配结尾是否为abc;

abc{m}:{m}代表前面的只能出现n次(m);

abc{m,}:{m,}代表前面的出现m到无穷多次;

abc{n,m}:代表前面的出现n到m次;

( ): 标记一个子表达式的开始和结束位置;

. : 匹配除换行符 \n 之外的任何单字符;

{ : 标记限定符表达式的开始;

/*************************************************************************************************************************/

*、+限定符都是贪婪的,因为它们会尽可能多的匹配文字,只有在它们的后面加上一个?就可以实现非贪婪或最小匹配。

例:

<.*>会匹配整串字符即,而<.*?>只会匹配第一个标签即;

有以上这些基础,基本的正则表达式就可以看懂了。要想深入了解需要更加深入系统的学习;

 

 

 

 

 

你可能感兴趣的:(linuxc,python,js)