【正则表达式-基础】
special characters
metacharacters
literal
工具:egrep sed
egrep会在检查正则表达式之前把换行符去掉
多选分支 |
单词分界 \< \>
反向引用
^(From|Subject)
s!<emphasis>([0-9]+(\.[0-9]+){3})</emphasis>!<inet>$1</inet>!
http://regex.info egrep各种版本下载
- 字符出现在字符组开头,他就表现成一个普通字符
^ 排除性字符必须匹配字符,而不是不匹配
def findNumStr(str):
return re.findall(str, '(?<![0-9])[1-9][0-9]{6,7}(?![0-9])')
egrep
sed
awk
Perl/Python/Ruby
Vi/Emacs/UltraEdit
Apache/Nginx
.NET/Java/JavaScript/PHP/Python/Ruby
vi/grep/awk/sed
字符组:
1,普通字符组
正则表达式在各种语言中的应用:
.NET
Regex.IsMatch(charStr, "[0123456789]");
Java
charStr.matches("[0123456789]");
JavaScript
/[0123456789]/.test(charStr)
PHP
preg_match("/[0123456789]/", charStr)
Python
re.search("[0123456789]", charStr)
Ruby
charStr =~ /[0123456789]/
字符串码值: Code Point
[[a-z] && [^aeiou]] 26个英文字母中,除去5个元音字母剩下的21个辅音字母
. 不能匹配换行符
re.search(r"(?s)^.$", "\n") != None 单行模式