首页 \ 问答 \ 正则表达式中,.* 代表什么

正则表达式中,.* 代表什么

请告知正则表达式中,.* 代表什么,如 . 匹配任何单个字符,* 匹配零或多个之前的表达式,那么.* 能匹配任意字符串吗?为什么
更新时间:2022-05-12 06:05

最新回答

我写了一个,总结各种语言(C#,Python,PHP,Javascript等)的正则的帖子,感兴趣的话,可以去看看:
正则表达式学习心得

另外,还专门针对Python的写了系列教程,这个是首地址:
【教程】详解Python正则表达式

里面有几十个帖子,详细介绍每个的含义。

如果感兴趣,可以去看看。
如果不感兴趣,当我没说,呵呵。


(此处不给贴地址,所以上面只能先贴图给你看了,想要看全部内容,请用google搜帖子标题,即可找到地址的)
表达式                 注解
[a-z]                 去掉小写字母
[^a-z]                 留小写字母
\d                 去掉数字
[^\d]                 留数字
\h\d                 去掉头个hd
[h,d]                 去掉全部h和d
[0-5]                 去掉0-5这些数
[6-9]                 保留0-5这些数
\d\d                 去掉两个连数
\d{2}-\d{5}                 去掉xx-xxxxx样式
^\d{2}-\d{5}                 留下xx-xxxxx(不成功)
aaa$                 要后尾的aaa
^aaa                 要开头的aaa
hd*                 h和d都去掉
\*                 去掉"*"号
\n                 去掉换行符
\s                 去掉空格
\s                 去掉非空白
^\w                 去掉下划线
(.)\1                 去掉两个连续相同的字符
h|d                 去掉h和d
\w                 非单词字符(去中文)
\d                 留数字
\s                 去空格
[!-~]                 留汉字
h.d                 去掉任意hxd
h..d                 去掉任意hxxd
第[一二]章                 去掉第一二章
第[^一二]章                 留第一二章
[^-a-z]                 留小写字母和-
[^a-z-]                 留小写字母和-(效果和上面一样)
[!--]                 去掉-
[-]                 去掉-
[^a-za-z0-9]                 配大小字母和数字
第[1-9][0-9]*章                 去掉“第x章”,*表示配之前的多次
第[1-9][0-9]{0,2}章                 去掉三个章
\bhd                 只配中间的hd
\bhd                 配前头的hd
hd\b                 配尾部的hd
\bhd\b.*\hjj\b                 去掉hd..hjj,"."任意字符,"*"任意数量
\d+                 配1或多个连续数字
\d*                 配0或多个连续数字
\b\w{6}\b                 配6个字母或数字,\w配字母,数字
\w                 留中文,等于[a-z0-9a-z]
[.?!]                 去掉.?!符号
^\w+                 去头一个单词
\d                 去掉非数字
[1-4]\d                 去掉1-4
\b\w+(?=ing\b)                 去掉ing前的字
 
'例:
option explicit
private sub form_activate()
    print regex("12大dadd在3456", "[a-z]") '去掉小写字母
    print regex("112,2323,23,212385422323", "[1-4]\d") '去掉1-4
end sub
function regex(a, b) as string
    with createobject("vbscript.regexp")
        .pattern = b
        .global = true
        regex = replace(.replace(a, "*"), "*", "")
    end with
end function
什么好的方法?学习的方法么?
正则不需要特意去学习,你了解基本语法就可以了。
开发中一般就验证前台表单的格式,例如邮箱、电话等。

相关问答

更多
  • 1. 比方说我需要判断一个串是不是一个邮箱,你需要判断它是是不是由字母数字下划线组成,还包含一个@,且只有一个@,而且这个@不能在最前最后,串的最后面需要以.com来结尾,而且这个.com还不能紧跟在@后面,balabala一大堆的规则,这么多要是用if来判断实在是太麻烦了吧。 2. 那么你写一个正则表达式可以一下子定义完所有的规则,我写一个简单的判断是否为邮箱的正则 ^[\da-zA-Z_]+@[\da-zA-Z_]+.com$, \d表示一个数字,a-zA-Z表示52个大小写的英文字母[\da-zA-Z ...
  • 《正则表达式三十分钟入门教程》: http://www.cssrain.cn/demo/zhengze.htm 我都是看这个学的正则表达式,看是肯定不止三十分钟啦。我每次看都会有不同的收获,不要想着一口气看完就能看明白,那样会给自己带来压力和打击。其实多看几遍也就可以了,实际写写代码,在问问上回答下别人的问题,都能学到不少。
  • 如果你曾经用过Perl或任何其他内建正则表达式支持的语言,你一定知道用正则表达式处理文本和匹配模式是多么简单。如果你不熟悉这个术语,那么“正则表达式”(Regular Expression)就是一个字符构成的串,它定义了一个用来搜索匹配字符串的模式。 许多语言,包括Perl、PHP、Python、JavaScript和JScript,都支持用正则表达式处理文本,一些文本编辑器用正则表达式实现高级“搜索-替换”功能。那么Java又怎样呢?本文写作时,一个包含了用正则表达式进行文本处理的Java规范需求(Spe ...
  • 一个正则表达式,就是用某种模式去匹配一类字符串的一个公式。很多人因为它们看上去比较古怪而且复杂所以不敢去使用——很不幸,这篇文章也不能够改变这一点,不过,经过一点点练习之后我就开始觉得这些复杂的表达式其实写起来还是相当简单的,而且,一旦你弄懂它们,你就能把数小时辛苦而且易错的文本处理工作压缩在几分钟(甚至几秒钟)内完成。正则表达式被各种文本编辑软件、类库(例如Rogue Wave的tools.h++)、脚本工具(像awk/grep/sed)广泛的支持,而且像Microsoft的Visual C++这种交互式 ...
  • http://deerchao.net/tutorials/regex/regex.htm 把这个花个把小时看完理解了, 你就是半个高手了,用熟悉了就是高手了
  • 正则表达式,就是用某种模式去匹配一类字符串的一个公式。 正则表达式由一些普通字符和一些元字符(metacharacters)组成。普通字符包括大小写的字母和数字,而元字符则具有特殊的含义 如: *表明+前的字符可以没有或者出现任意多次 +表明+前的字符至少出现一次 \s表明空格、换行、回车、tab等 ()表明一个组,group的意思 \"这里的\其实是转义符 |表明或者 \S 与\s是相反的意思,也就是除了\s以外的字符
  • var sp="文字内容";
    var regsp1=/\/gi;
    var regsp2=/\<\/span.*?\>/gi;
    var st=sp.replace(regsp1,"\");
    st=st.replace(regsp2,"\<\/strong\>");
    alert(st);
  • 众所周知,在程序开发中,难免会遇到需要匹配、查找、替换、判断字符串的情况发生,而这些情况有时又比较复杂,如果用纯编码方式解决,往往会浪费程序员的时间及精力。因此,学习及使用正则表达式,便成了解决这一矛盾的主要手段。 大家都知道,正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的文字模式,它用以描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。 自从jdk1.4推出java.ut ...
  • ^\d+(\+\d+)*$ 借用"乱码"的测试模板: Untitled Document