对正则我是一知半解,我对正则的理念就是,能用就行!
对于所有字符,我一开始的理解就是 .*
后来GOOGLE了一下,才知道.*连在一起就意味着任意数量的不包含换行的字符。
所以可以使用 [\s\S]* 它的意思是任意空白字符和非空白字符。同理,也可以用 “[\d\D]*”、“[\w\W]*” 来表示。 d和D,w和W,s和S都是反义,加起来就是全部字符了。
注意:写在文本中的n是不会自动视为换行符的,测试$_="asdfnasdf";s/./-/;print;即可明白
补充
匹配中文字符的正则表达式: [\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
匹配空行的正则表达式:\n[\s| ]*\r
匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/
匹配首尾空格的正则表达式:(^\s*)|(\s*$)